在我的mvc 3應用程序中,我想在用戶試圖提交表單時執行一個函數。在該功能中,我將檢查多個字段以確定用戶在提交之前是否提供了必要的數據。MVC自定義客戶端驗證
如何在用戶嘗試提交表單時連接腳本以執行操作?
(自定義驗證函數中,我需要檢查,如果各項複選框被選中,如果是的話,額外的值從dropdownlists等選擇)
在我的mvc 3應用程序中,我想在用戶試圖提交表單時執行一個函數。在該功能中,我將檢查多個字段以確定用戶在提交之前是否提供了必要的數據。MVC自定義客戶端驗證
如何在用戶嘗試提交表單時連接腳本以執行操作?
(自定義驗證函數中,我需要檢查,如果各項複選框被選中,如果是的話,額外的值從dropdownlists等選擇)
我怎麼能聯播當用戶試圖提交表單被執行的腳本?
你可以訂閱.submit
事件的形式,並呼籲標準的客戶端驗證後調用自定義函數:
$(function() {
$('form').submit(function() {
if (!$(this).valid()) {
// standard client validation failed => prevent submission
return false;
}
// at this stage client validation has passed. Here you could call your
// function and return true/false depending on the result of your
// custom function
});
});
另一種可能性是編寫自定義驗證屬性和掛鉤自定義適配器如this answer和similar one所示。
在視圖(剃刀或Java),你會在html中定義一個腳本,並在那裏進行客戶端驗證。
例如:
<script>
//define your script here, ie. $.(#tagtovaildate).validate();
</script>
<html>
//code
</html>
$('#formId').submit(function() {
var standardIsValid = $(this).validate().form();
var customIsValid = customValidations();
if (!standardIsValid || !customIsValid) {
return false;
}
});
丹吉特,打我到20秒! – Martin 2012-03-14 12:29:39