angularjs中的表单验证

angular对html原生的form做了封装,增加了很多验证功能

1.代码结构

<form name="signup_form" novalidate ng-submit="signupForm()">
        <div>
            <label>用户名</label>
            <input type="text" placeholder="Name" name="name" ng-model="signup.name" ng-minlength=3 ng-maxlength=20 required />
            <div class="error" ng-show="signup_form.name.$dirty && signup_form.name.$invalid">
                <small ng-show="signup_form.name.$error.required">姓名必填</small>
                <small ng-show="signup_form.name.$error.minlength">姓名最少三个字符</small>
                <small ng-show="signup_form.name.$error.maxlength">姓名最多20个字符</small>
            </div>
        </div>

        <div>
            <label>密码</label>
            <input type="text" placeholder="Name" name="name" ng-model="signup.name" ng-minlength=3 ng-maxlength=20 required />
            <div class="error" ng-show="signup_form.name.$dirty && signup_form.name.$invalid">
                <small ng-show="signup_form.name.$error.required">密码必填</small>
                <small ng-show="signup_form.name.$error.minlength">密码最少三个字符</small>
                <small ng-show="signup_form.name.$error.maxlength">密码最多20个字符</small>
            </div>
        </div>
        <button type="submit" ng-disabled="signup_form.$invalid" class="button radius">提交</button>
    </form>

2.如果要使用angular的表单验证,首先要确保表单必须要有一个name的属性所有的输入字段都可以进行基本验证,比如最大,最小长度等。这些功能都由H5的表单属性提供,如果想要屏蔽浏览器对于表单默认的验证行为,可以在表单上添加novaildate的标记。

3.h5的验证

必填项:验证表单输入是否已经添加 之前在dom元素上加上required标记即可

<input type="text" required/>

最大/小长度:验证表单输入的文本是否小/大于某个最小值,可以在输入的字段上使用指令 ng-maxlength="{number}"/ng-minlength="{number}"

<input type="text" ng-minlength="5" ng-maxlength="15"/>

电子邮件:验证输入的文本是否是电子邮箱可以使用 type=email来实现

<input type="email" name="email" ng-model="user.email" />

是否数字:验证输入的文本是否是为数字可以使用 type=number来实现

<input type="number" name="age" ng-model="user.age" />

URL:验证输入的文本是否是为url可以使用 type=url来实现

<input type="url" name="homepage" ng-model="user.homepage" />

4.angular内置的验证指令

匹配模式:使用ng-pattern="/PATTERN/"来确保输入能匹配指定的正则表达式

<input type="text" ng-pattern="[a-zA-Z]"/>

5.表单的属性

表单的属性可以在所在作用域的$scope对象中访问到,而我们又可以访问$scope对象因为JavaScript可以间接地访问dom中的表单属性借助这些属性,我们可以对表单做出实时的响应(双向绑定)这些属性

1:未修改的表单
这是一个布尔类型的属性,用来判断用户是否修改了表单,如果未修改,值为true否则为false
formName.inputfieldName.$pristine
2:修改过的表单
只要用户修改过表单无论输入是否验证通过都返回true
formName.inputfieldName.$dirty
3:合法的表单
这个布尔属性用来判断表单的内容是否不合法,如果当前的表单内容是合法的。该属性就返回为true
formName.inputfieldName.$valid
4:不合法的表单
这个布尔属性用来判断表单的内容是否不合法,如果当前的表单内容是不合法的,该属性就返回为true
formName.inputfieldName.$invalid
5:错误
这是angular提交的另一个非常有用的属性:$error对象,她包含当前表单所有的验证内容。以及它们是否合法的信息,可以这样来访问formName.inputfieldName.$error,如果验证失败这个属性值为true,如果值为false说明通过了验证。
时间: 2024-12-15 01:43:27

angularjs中的表单验证的相关文章

angular中的表单验证

angular中的表单验证很强大, 一共有5中验证信息,$valid,$invalid,$pristine,$dirty,$error. $valid-----当验证通过的时候,为true,不通过的时候为false $invalid----当验证不通过的时候,为true,通过的时候为true $pristine---当值为初始值的时候,为true,一旦有过改动即为false $dirty---当值有改动过即为true,其他即为false $error---包含所有的验证信息,如以下例子,$err

angularjs中form表单提交验证

angular.module("MyApp",["ngMessages"]): <form name="formMyName" ng-submit="$ctrl.changePassword(formMyName)" ng-cloak novalidate> <--输入新密码--> <md-input-container md-no-float> <input name="n

jq中的表单验证插件------jquery.validate

今天我们来说一下表单验证,有人说我们在进行表单验证的时候使用正则来验证是非常麻烦的,现在我来给大家介绍一下表单验证的插件:jquery.validate.min.js 它是与jquery一起结合用来使用的,使用它是非常方便,只需写校验规则和错误字段即可. 我们常见的校验规则有以下几种: (1)required:true               必输字段(2)email:true                  必须输入正确格式的电子邮件(3)date:true               

AngularJS入门基础——表单验证

<form name="form" novalidata> <label name="email">your email</label> <input type="email" name="email" ng-model="email" placeholder="Email Address"> </form> /*如下是朋友空间

jquery配合Bootstrap中的表单验证插件bootstrapValidator使用方法

使用bootstrap遇到表单校验,最常用的一款表单校验插件 github地址:https://github.com/nghuuphuoc/bootstrapvalidator 使用: 将文件下载 或者用 git clone下来 1.引入css到head中,引入js到body结束标签的前面即可 提示: 默认是英语的,需要变成中文: 将github中dist中的\js\language\zh_CN.js 引入文件中即可 官方完整实例版: <!DOCTYPE html> <html>

Model中设置表单验证方法

Model类里面定义$_validate属性支持的验证因子格式: 格式:array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间). 验证条件: (1)Model::EXISTS_TO_VAILIDATE 或者0 存在字段就验证 (默认)   (2)Model::MUST_TO_VALIDATE 或者1 必须验证    (3)Model::VALUE_TO_VAILIDATE或者2 值不为空的时候验证   另外还有其他的验证规则语法:配合验证规则可使用 (1)regex 使用正则进

element中修改表单验证的提示信息的样式

.el-form-item--small .el-form-item__error { margin-top: 2px; } .el-form-item__error { position: absolute !important; top:16px; text-align: center; background-color: red; filter: alpha(Opacity=40); opacity: 0.4; width: 120px; height: 21px; border-radi

AngularJS表单验证实现方法详解

本文主要是通过源码实例和大家分享AngularJS中的表单验证相关知识,希望通过本文的分享,对大家学习AngularJS有所帮助. 1.常规表单验证: 2.AngularJs中提供的表单验证实例. 实例代码 <!doctype html> <html ng-app="lesson" ng-controller="FormCtrl" > <head> <meta http-equiv="Content-Type&qu

AngularJS中使用的表单验证

Reference: http://www.tuicool.com/articles/2Qbiqi 客户端表单验证是AngularJS里面最酷的功能之一. AngularJS表单验证可以让你从一开始就写出一个具有交互性和可相应的现代HTML5表单. 在AngularJS中,有许多表单验证指令.在这里,我们将谈谈几个最流行指令,然后我们将讨论如何编写自定义的验证. <form name="form"> <label name="email">Y