在我的mvc 3应用程序中,我想在用户尝试提交表单时执行一个函数。在该函数中,我将检查许多字段以确定用户是否在提交之前提供了必要的数据。
如何在用户尝试提交表单时连接要执行的脚本?
(在自定义验证功能中,我需要检查是否已选中各种复选框,如果是,则从下拉列表中选择其他值等。)
答案 0 :(得分:5)
如何在用户尝试提交表单时连接要执行的脚本?
您可以订阅表单的.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所示。
答案 1 :(得分:2)
$('#formId').submit(function () {
var standardIsValid = $(this).validate().form();
var customIsValid = customValidations();
if (!standardIsValid || !customIsValid) {
return false;
}
});
答案 2 :(得分:0)
在视图(RAZOR或ASPX)中,您将像在html中一样定义脚本,并且将进行客户端验证。
例如:
<script>
//define your script here, ie. $.(#tagtovaildate).validate();
</script>
<html>
//code
</html>