Angular Material表单提交及验证
2024-08-29 11:44:53
AngularJS中一些表单验证属性:
- 修改过的表单,只要用户修改过表单,无论输入是否通过验证,该值都将返回false
{formName}.{inputFieldName}.$dirty - 合法的表单,这个属性用来判断表单的内容是否合法的,如果合法则该属性的值为true
{formName}.{inputFieldName}.$valid - 不合法的表单,这个属性用来判断表单的内容是都不合法,如果不合法则该属性的值为true,与valid正好相反
{formName}.{inputFieldName}.$invalid - 错误,$error对象包含了当前表单的所有验证内容,以及它们是否合法的信息,如果验证失败,该属性值为true,如果验证成功,则该值为false
{formName}.{inputFieldName}.$error - form表单是否提交,该属性用来判断表单是否被用户提交
{formName}.$submitted
Angular Material中表单验证错误消息结合使用了ng-messages的用法。以下是一个简单例子及简单说明:
点击提交按钮之后,form标签中ng-submit将表单的内容进行提交,js中进行是否合法判断;
ng-pattern='/^正则表达式$/' 用来进行自定义表单验证,一般为正则表达式。
ng-messages="{formName}.{inputFieldName}.$error" 用来验证该表单内容是否错误
ng-message-exp=['required','minlength','maxlength','pattern'] 这里是所需要验证的属性
<form name="changePasswordForm" ng-submit="$ctrl.changePassword(changePasswordForm)" ng-cloak novalidate>
<div>
<label style="margin-right: 38px; margin-bottom: 0;">密码</label>
<md-input-container class="md-block no-margin" md-no-float>
<input name="password" type="password" ng-model="$ctrl.data.password"
placeholder="请输入密码"
style="width: 300px"
ng-pattern='/^\+?[1-9]*\d$/'
minlength="6" maxlength="20"
required/>
<div class="errors" ng-messages="changePasswordForm.password.$error">
<div ng-message-exp=['required','minlength','maxlength','pattern']>
您输入的密码格式不正确
</div>
</div>
</md-input-container>
</div>
<md-button type="submit">提交</md-button>
</form> <!--js-->
this.changePassword=function(changePasswordForm){
if(changePasswordForm.$invalid){
//本次验证不合法
return
}
}
最新文章
- Android6.0运行时权限管理
- QT5之三大重要窗体
- MSSTDFMT.DLL无法注册的解决
- SQL server 那些数据类型不能作为索引
- css获取实时样式
- 黄聪:解决丢失api-ms-win-crt-runtime-|1-1-0.dll的问题:vc_redist.x64
- Handlebars模板引擎中的each嵌套及源码浅读
- 中文变英文字母(ios)
- JAXB--学习1
- sql server 2008 中的架构(schame)理解
- HTML CSS基础(三)
- 关于Serializable的serialVersionUID
- Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API
- C语言多维数组的指针传递
- 遍历输出图片加hover
- 喝汤 beautifulsoup 批量爬取图片
- PySpider框架的基本用法
- [转帖]你所不知道的C和C++运行库
- 洛谷 P2158 [SDOI2008]仪仗队 解题报告
- Bootstrap3基础 clearfix pull-left/right 辅助类样式 快速左右浮动