C# 在提交表单之前,是否有任何方法在页面加载时检查ModelState.IsValid?

C# 在提交表单之前,是否有任何方法在页面加载时检查ModelState.IsValid?,c#,asp.net,asp.net-mvc,forms,modelstate,C#,Asp.net,Asp.net Mvc,Forms,Modelstate,因此,我们在表单中添加了一个必填字段,用户可以提交并编辑该字段。因此,如果用户打开表单进行编辑,则会出现一个新的必填字段,该字段可以正常工作。如果您尝试提交表单,将显示一个模型错误,说明他们需要填写表单。好的 但他们没有迹象表明需要该字段。据我所知,ModelState.IsValid仅在表单帖子上触发。是否有必要在页面加载时直接调用它,以便他们可以立即看到需要填写新字段?您要求的内容应该由MVC模式中的模型管理 您可以按照评论中的建议,使用一个框架进行客户机验证,或者只是详细说明您自己的客户机

因此,我们在表单中添加了一个必填字段,用户可以提交并编辑该字段。因此,如果用户打开表单进行编辑,则会出现一个新的必填字段,该字段可以正常工作。如果您尝试提交表单,将显示一个模型错误,说明他们需要填写表单。好的


但他们没有迹象表明需要该字段。据我所知,ModelState.IsValid仅在表单帖子上触发。是否有必要在页面加载时直接调用它,以便他们可以立即看到需要填写新字段?

您要求的内容应该由MVC模式中的模型管理

您可以按照评论中的建议,使用一个框架进行客户机验证,或者只是详细说明您自己的客户机验证

请记住,您的模型需要与视图通信哪些字段是必需的,以便视图可以通过UI将这些信息转换给用户


你可以用任何你想做的方式来做这件事:只是对必填字段使用不同的样式(这不是一个很好的选择),编程验证规则,当必填字段为空时抛出消息,添加解释该字段为必填字段的文本,等等。

使用jquery validator框架。那里有模式。搜索
[RequiredIf]
您可以始终使用
TryValidateModel(model)
返回视图(模型)-但为什么要这样做-客户端验证应该是不引人注目的,这将是一个糟糕的用户界面