RemoteAttribute的具体用法就不去说了,但有几点要注意的:
1、RemoteAttribute验证通过Ajax异步将数据到后台做验证,所以仅是前端的验证,所以严谨一定一定要在Controller中的Action处理的if (ModelState.IsValid)的前面再做一次服务器端验证,不同于MVC的其他验证属性,在model中增加了一些属性,等同于客户端,服务器端都加了,但这货不是,至少MVC4种仅客户端起作用。
2、[Remote(ActionName,Controller, AdditionalFields = "附加字段")],Remote在Ajax异步时可以附带一个字段一起到服务器端异步调用验证方法,例如实现用户输入
根据不同的证件类型,证件号码的正则表达式验证是不同的,所以要夹带一个证件类型的参数,到后台,一起决定套用哪个正则表达式验证,但,又要说但了,也可能是一个mvc4中jquery.unobtrusive-ajax.js的bug,这种附加参数,通俗点将就是不支持checkbox和radio,要支持的话需要改jquery.unobtrusive-ajax.js,具体可以bing具体改的方法,但基本这种文件我不轻易动,所以只要将设计的radio,checkbox改成dropdownlist,textbox之类的就好了