asp.net mvc 验证 2 个字段 - 如果输入了其他字段,则其中一个字段必须存在
我的视图模型中有 2 个文本字段,text1 和 text2。我需要验证是否输入了 text1,则必须输入 text2,反之亦然。如何在视图模型中的自定义验证中实现这一点?
谢谢。
I have 2 text fields, text1 and text2, in my view model. I need to validate if text1 is entered then text2 must be entered and vice versa. How can this be achieved in the custom validation in the view model?
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用实现
IValidatableObject
(来自System.ComponentModel.DataAnnotations
命名空间)在您的视图模型上进行服务器端验证:现在它确保是否设置了Name和SecondName,或 null,则模型有效,否则模型无效。
You can use implement
IValidatableObject
(fromSystem.ComponentModel.DataAnnotations
namespace) for the server side validation on your View Model:Now it make sure if both Name and SecondName are set, or null, then model is valid, otherwise, it's not.
看看 mvc 的万无一失的验证,它做了条件验证。在 nuget 或 http://foolproof.codeplex.com 上找到它
编辑
上面的内容确实很旧,
我建议对任何现代的东西使用 MVC Fluent Validation https://docs .fluidation.net/en/latest/aspnet.html
Look at mvc foolproof validation it does conditional validation. Find it on nuget or http://foolproof.codeplex.com
Edit
The above is really old
I'd recommend MVC Fluent Validation for anything modern https://docs.fluentvalidation.net/en/latest/aspnet.html
您可以使用 JQuery,如下所示:
You can use JQuery, something like this:
如果您想在模型上使用数据注释验证器和验证属性,您应该看看这个:
“属性依赖于另一个字段”
If you'd like to use a data annotation validator and validation attributes on your model, you should take a look at this:
" attribute dependent on another field"