时间:2021-05-28
废话
最近由于项目上需要用到表单验证,前面直接通过 (input) 事件进行数据检查,但是不好和自带的验证器统一,而且也不正统。于是打算研究一下自定义验证器,网上类似的文章很多,但是自己在实现的过程中还是遇到了一些问题。于是还是啰嗦的自己写一篇文章。
正文
这里有官方文档:验证响应式表单,用户的视觉提示,自定义验证器,这篇文章是根据这些文档所来(前面两者就不再赘述比较简单,也说的比较清楚)
Angular支持的内置validate属性:
通过表单控件的.valid判断验证结果,其结果状态:
我们经常会遇到如下场景,表单验证(样式比较丑陋请忽略)
现在我们要实现 url 验证,可以直接通过 正则表达式来匹配,这样的话,直接用 Angular 自带的验证器即可,但是如果要兼容大写呢?我们就不能简单的直接使用正则来匹配了,我们需要在判断之前进行一次转换,把内容全部转换成小写,才能进行正则判断。
这里我们 新建一个 ValidatorBase 类来存放所有的验证,并且新建一个 静态方法 urlValidator(input:FormControl) 来对数据进行 url 验证。具体方法如下:
import { FormControl } from '@angular/forms';import { Injectable } from '@angular/core'export class ValidateBase{ public static urlValidator(input: FormControl){ let validateString = "(https?://|ponent implements OnInit { private detailForm: FormGroup; private LinkedURL: FormControl; ngOnInit(): void { this.validateForm(); } private validateForm(){ this.LinkedURL = new FormControl('',[ Validators.required, Validators.maxLength(250), ValidateBase.urlValidator ]); //form this.detailForm = this.formBuilder.group({ LinkedURL:this.LinkedURL, }); }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Angular中,提供的表单验证不能用于所有应用场景,就需要创建自定义验证器,比如对IP、MAC的合法性校验这里是根据官网实例自定义MAC地址的正则校验,环境为
angular当需要form表单需要验证时,angular自带了许多校验器,但是很多时候自带的无法满足业务需求,这时候就需要自定义的校验器定义一个validat
本文实例讲述了Angular2使用路由自定义弹出组件toast操作。分享给大家供大家参考,具体如下:原理:使用Angular2的命名路由插座,一个用来显示app
本文实例讲述了AngularJS自定义表单验证功能。分享给大家供大家参考,具体如下:Angular实现了大部分常用的HTML5的表单控件的类型(text,num
整理文档,搜刮出一个Angular2实现自定义双向绑定属性的代码,稍微整理精简一下做下分享。import{Component,OnInit,Output,Inp