表单验证(AngularJs)

这次,学习angularjs的表单的验证,angularjs提供上表几种状态验证:

状态 描述
$invalid 未通过验证
$valid 经过验证
$pristine 未修改过
$dirty 修改
$error 错误

另外,AngularJS内置的验证器:

验证器 描述
required 必需的
ng-required 基于控制器布尔条件标记输入字段为必需
ng-minlength 最小长度
ng-maxlength 最大长度
ng-pattern 指定的正则表达式模式进行检查
type=”email” 电子邮件验证
type=”number” 数字验证
type=”date” 如果浏览器支持,显示一个HTML日期选择器。否则,默认为一个文本输入
type=”url” 验证URL文本输入

下面Insus.NET分别举个例子进行实践与说明:

第一种情形,文本框必须填写,还要求字符串的最小长度和最大长度。

第二种情形,必填字段,使用type=number来限制输入字符为数字。

第三种情形,必填字段,验证用户输入日期。

第四种情形,字段域验证用户输入的邮箱地址格式是否正确

第五种情形,对文本框限制只能输入数字,而且有数值范围,最小值为7,最大值为109:

第六种情形,验证用户输入网址格式字符串

第七种情形,使用pattern正则来验证用户输入的数据,下面是只能输入英文字母大小写。

实时操作演示:

 <form name="form1" ng-app="CustomValidationApp" ng-controller="cvController" novalidate>
        <p>
            <label>Item</label>
            <input type="text" name="Text" ng-model="Text" required ng-minlength=4 ng-maxlength=13 />
            <div class="error" ng-show="form1.Text.$dirty && form1.Text.$invalid">
                <small class="error" ng-show="form1.Text.$error.required">
                    Text请求值。
                </small>
                <small class="error" ng-show="form1.Text.$error.minlength">
                    Text最小长度为4个字符。
                </small>
                <small class="error" ng-show="form1.Text.$error.maxlength">
                    Text最大长度为13个字符。
                </small>
            </div>
        </p>
        <p>
            <label>Number</label>
            <input type="number" name="Number" ng-model="Number" required />
            <div class="error" ng-show="form1.Number.$dirty && form1.Number.$invalid">
                <small class="error" ng-show="form1.Number.$error.required">
                    Number请求值。
                </small>
                <small class="error" ng-show="form1.Number.$error.number">
                    Number必须为数字。
                </small>
            </div>
        </p>
        <p>
            <label>Date</label>
            <input type="date" name="Date" ng-model="Date" required placeholder="yyyy-MM-dd" />
            <div class="error" ng-show="form1.Date.$dirty && form1.Date.$invalid">
                <small class="error" ng-show="form1.Date.$error.required">
                    Date请求值。
                </small>
                <small class="error" ng-show="form1.Date.$error.date">
                    Date必须为日期。
                </small>
            </div>
        </p>
        <p>
            <label>Email</label>
            <input type="email" name="email" ng-model="email" required />
            <div class="error" ng-show="form1.email.$dirty && form1.email.$invalid">
                <small class="error" ng-show="form1.email.$error.required">
                    email请求值。
                </small>
                <small class="error" ng-show="form1.email.$error.email">
                    email必须为邮箱地址。
                </small>
            </div>
        </p>
        <p>
            <label>Range</label>
            <input type="number" name="Range" ng-model="Range" min="7" max="109" required />
            <div class="error" ng-show="form1.Range.$dirty && form1.Range.$invalid">
                <small class="error" ng-show="form1.Range.$error.required">
                    Range请求值。
                </small>
                <small class="error" ng-show="form1.Range.$error.number">
                    Range必须为数字。
                </small>
                <small class="error" ng-show="form1.Range.$error.min">
                    Range最小值为7。
                </small>
                <small class="error" ng-show="form1.Range.$error.max">
                    Range最大值为109。
                </small>
            </div>
        </p>
        <p>
            <label>url</label>
            <input type="url" name="url" ng-model="url" required />
            <div class="error" ng-show="form1.url.$dirty && form1.url.$invalid">
                <small class="error" ng-show="form1.url.$error.required">
                    url请求值。
                </small>
                <small class="error" ng-show="form1.url.$error.url">
                    url必须为url格式。
                </small>
            </div>
        </p>
        <p>
            <label>pattern</label>
            <input type="text" name="pattern" ng-model="pattern" ng-pattern="/^[a-zA-Z]*$/" required />
            <div class="error" ng-show="form1.pattern.$dirty && form1.pattern.$invalid">
                <small class="error" ng-show="form1.pattern.$error.required">
                    pattern请求值。
                </small>
                <small class="error" ng-show="form1.pattern.$error.pattern">
                    pattern必须大小写字符。
                </small>
            </div>
        </p>
    </form>

Html Source Code

 var cvApp = angular.module(‘CustomValidationApp‘, []);
        cvApp.controller(‘cvController‘, function ($scope, $http) {
        });

JS Code

时间: 2024-12-29 16:42:58

表单验证(AngularJs)的相关文章

表单验证&lt;AngularJs&gt;

常用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type="text" required />   2. 最小长度 验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng= "{number}": <input type="text" ng-minlength="5" /> 3. 最大长

【转载】表单验证&lt;AngularJs&gt;

原文地址:http://www.cnblogs.com/rohelm/archive/2014/10/19/4033513.html 常用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type="text" required />   2. 最小长度 验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng= "{number}": <

AngularJs 表单验证

看到一些博客说这个框架要过时了,但是还是学习了下,觉的很方便的一个框架,有空的同学可以看看,适合我们入门看,比较基础. 对于日常的开发来说,最常见的开发场景就是通过表单编辑数据,这里涉及的问题就是验证问题. angularjs 内置已经支持了常见的验证方式,可以轻松实现表单验证. 1. 绑定 为了方便,我们在 $scope 上下文对象上创建一个 model 来表示我们编辑的内容. $scope.model = { id : 8, name: "alice", email: "

表单验证&amp;lt;AngularJs&amp;gt;

经常使用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,仅仅要在输入字段元素上加入HTML5标记required就可以: <input type="text" required />   2. 最小长度 验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng= "{number}": <input type="text" ng-minlength="5" /> 3.

AngularJS复习------表单验证

在AngularJS中能够将HTML5表单验证功能同自己的验证指令结合起来使用,这里介绍使用的核心功能. 使用表单验证,首先要确保表单的每个控件都有name属性 如果想要屏蔽浏览器对表单的默认验证行为,可以在表单元素上添加novalidate标记. 必填项:只需要在输入字段元素上添加HTML5标记 required即可 最小长度:在输入字段上使用AngularJS指令ng-minlength="{number}" 最大长度:在输入字段上使用AngularJS指令ng-maxlength

AngularJs的一个简单的表单验证

最近学习了AngularJs框架,觉得确实特别有用.之前学习了一点点的ASP.NET,它的控件也是挺好的,不过还是没有AngularJs轻巧. 定义一个应用程序myApp,一个控制器.接着是表单的验证. AngularJs中,表单控件的HTML元素有:input select button textarea元素 其实还算是很简单的例子. 不过我觉得对比起ASP那种庞大的控件来说,它确实很轻巧. AngularJS 输入验证$dirty 表单有填写记录$valid 字段内容合法的$invalid

angularJS 过滤器 表单验证

过滤器1.filter的作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果,主要用于数据的格式化.2.内置过滤器(1)Currency(货币)将一个数值格式化为货币格式,默认为$(2)Date(3)Filter子串匹配用来处理一个数组,可以过滤出含有某个子串的元素,作为一个字数组来返回.通常用来过滤需要展示的元素.可以是字符串数字,对象或是一个用来从数组中选择元素的函数.字符串:返回所有包含这个字符串的元素对象:将待过滤对象的属性同这个对象中的同名属性进行对比,如果属性值是字符串就

基于angularJS的表单验证练习

今天看了一下angularJS的表单验证,看的有点云里雾里(也有可能是雾霾吸多了),于是做了一个小练习来巩固一下. html: <div ng-controller="Aaa"> <form novalidate name="loginForm"> <div> <label>用户名</label> <input type="text" name="nText"

AngularJs 入门系列-2 表单验证

对于日常的开发来说,最常见的开发场景就是通过表单编辑数据,这里涉及的问题就是验证问题. angularjs 内置已经支持了常见的验证方式,可以轻松实现表单验证. 1. 绑定 为了方便,我们在 $scope 上下文对象上创建一个 model 来表示我们编辑的内容. $scope.model = { id : 8, name: "alice", email: "[email protected]" }; angularjs 的验证需要表单的配合,为了能够访问表单,我们需