2

我正在构建一个 MVC 3 应用程序。

我可以在客户端(使用 JavaScript / jQuery)将非必填字段设置为必填吗?

当页面中的事情发生变化时,我需要它是动态的。

更新:我查看了我的页面的源代码,并看到了将验证规则推入其中的 window.mvcClientValidationMetadata 数组。我可以用它来满足我的需要吗?

谢谢

4

2 回答 2

0

你可以在客户端做任何你想做的事情。

您可以连接到表单提交事件并在其中检查该字段是否已填写,并根据需要提交表单或显示错误消息。

当然,如果 JavaScript 被关闭或者如果用户足够了解这个字段可能最终不会被填写,所以总是在服务器端检查(除了Model.IsValid,你可以添加对你没有特别添加RequiredAttribute到的字段的检查) .

如果您的验证逻辑很复杂,另一种选择是覆盖ModelMetadata以提供自定义验证。

于 2012-08-05T14:15:36.277 回答
0

您可以像这样设置验证规则:

$('element').rules('add',{
    required: true
});

并删除它:

$('element').rules('remove', 'required');

或者,您可以添加有条件地需要值的自定义验证方法。看到这个:http ://docs.jquery.com/Plugins/Validation/Validator/addMethod

于 2012-08-05T20:07:26.367 回答