.net验证没有通过显示的提示信息
亲你好,(二).net学习之表单验证validator
2022-04-16 14:26 84阅读
表单验证是很常见的,一般除了前端需要验证数据是否为空,还需要验证数据格式是否符合要求,一般使用正则表达式验证,当然,除了前端,后端一般也需要将数据进行验证,比如客户端(浏览器)将js等前端脚本禁用,点击提交,那么不符合规范的数据就会提交到后台,这回导致系统出现问题。
.net中提供了常用的validator
通用的属性是:
CtrolToValidate:也就是指待验证的控件id,可以是TextBox,也可以是其他的一些控件
ErrorMessage:也就是这个验证出现不符合验证需求时,需要显示的提示信息
Display:可取值Static和Dynamic和None,一个是固定位置,另一个是动态位置(如果前面有空格,会移动到前面)另一个是无,也就是不显示
ValidationGroup:验证组,其他控件也有,比如button,可以多个控件使用同一个ValidationGroup值,以组为单位进行验证,后面demo会用到
Text属性:未通过验证时验证控件所在位置的显示数据,如果不指定就会显示errorMessage的内容
SetFocusOnError:设置光标在验证不通过时,移动到该控件校验的内容所在位置
其余还有很多,不在此一一列举。
基本的校验控件
比如:
CompareValidator:
可以验证值的大小(比如数字大小),值的类型,比如时间格式(date),
特有属性:ControlToCompare,指的是“待比较”的控件id,比如在比较时间格式是否符合Date时,通常在TextBox中输入数据,先使用RequiredFieldValidator验证是否输入为空,然后再添加一个compareValidator验证data type是否为Date(由于compareValidator同时拥有属性ControlToCompare和ControlToValidate这两个属性,如果id都指向同一个输入时间的textbox的话,会抛异常,所以通常使用一个隐藏的textbox来暂存时间输入框中的值,ControlToCompare就指向这个隐藏的textbox即可达到验证时间格式的问题。
RangeValidator:
范围验证,比如输入的数据长度,比如数字大小是否在某一个区间,
特有属性也就是MaximumValue和MiniumValue,还有个是Type,表明这个Max和Min是来描述什么类型,或者是什么属性的范围,比如字符个数,还是数字大小
RegularExpressionValidator:
正则表达式验证,通过指定的正则表达式,来验证数据是否符合要求,.net自带的有电话格式验证,邮箱格式验证等等
特有属性就是:ValdationExpression,正则表达式串
ValidationSummary:
这个控件的作用就是将一个页面上的或者是一个group中的所有validator不通过的errorMessage集中显示的控件
demo:
使用一个简单demo将上面的几种控件基本都用到了
本demo思路,当用户点击按钮“save”时将表单提交到后端,触发表单验证
Error message 1.这个位置是使用了一个ValidationSummary控件,效果效果是这样的。