当前位置: 首页 > 编程语言 > C#

在没有发布数据时在页面加载时显示MVCRazorvalidation错误Share

时间:2023-04-10 21:17:08 C#

在没有发布数据时在页面加载时显示MVCRazorvalidation错误当我单击链接转到该页面时,会显示验证消息,但我希望在数据已发布之前不显示验证消息。查看:@Html.TextBoxFor(m=>m.EmailAddress,new{@placeholder="EnterEmail",@class="form-control"})@Html.ValidationSummary(true,"RegistrationFailed.Checkyourcredentials")@Html.ValidationMessageFor(m=>m.EmailAddress,"YoumustenteravalidEmailAddress.")模型:[Required(ErrorMessage="Emailisrequired")][DataType(DataType.EmailAddress)][EmailAddress][Display(Name="EmailAddress:")]publicstringEmailAddress{get;放;}控制器:[HttpGet]publicActionResultAddUser(){returnView();}[HttpPost]publicActionResultAddUser(UserCreateViewModeluser){if(ModelState.IsValid){varsuccess=UserRepository.AddUser(user);如果(成功){返回视图(“成功”);}}返回视图(“添加用户”);就像我说的,我的问题出现在AddUser视图的页面加载上。当我点击链接查看AddUser页面时,加载后显示验证消息,但此时还没有发布任何数据,模型为空。将验证样式设置为:.validation-summary-valid{display:none;}所以它默认是隐藏的。错误将触发它显示。绑定用户后可以清除模型状态:ModelState.Clear();这是因为ModelBinder在绑定的时候会设置ModelState。在绑定模型并返回具有相同模型的视图的每个操作中,您都会遇到此问题。[HttpPost]publicActionResultAddUser(UserCreateViewModeluser){if(ModelState.IsValid){varsuccess=UserRepository.AddUser(user);如果(成功){返回视图(“成功”);}}ModelState.Clear();//.field-validation-valid{display:none;每当在页面加载时触发验证时,此“.field-validation-valid”值将自动添加到触发输入元素的类属性中。通过添加CSS以将none显示为特定类的值,您将不再在初始页面加载时看到验证消息。触摸特定输入元素后,验证消息仍将正常显示。当模型没有传递给视图并且相同的操作用于get和post时,这发生在我身上。我应用了@RenanAraujo的解决方案$('.field-validation-error').html("");以上为C#学习教程:无数据可发时,分享全部时页面加载显示MVCRazorvalidation错误如果内容对您有用,需要了解更多C#学习教程,希望大家多多付出关注吧---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: