Validation

----primeng输入组件显示验证错误时自动标记为无效值。

demo code

export class ValidationDemo implements OnInit {

    msgs: Message[] = [];

    userform: ControlGroup;

    submitted: boolean;

    genders: SelectItem[];

    description: string;

    constructor(private fb: FormBuilder) {}

    ngOnInit() {
this.userform = this.fb.group({
'firstname': new Control('', Validators.required),
'lastname': new Control('', Validators.required),
'password': new Control('', Validators.compose([Validators.required, Validators.minLength(6)])),
'description': new Control(''),
'gender': new Control('', Validators.required)
}); this.genders = [];
this.genders.push({label:'Select Gender', value:''});
this.genders.push({label:'Male', value:'Male'});
this.genders.push({label:'Female', value:'Female'});
} onSubmit(value: string) {
this.submitted = true;
this.msgs = [];
this.msgs.push({severity:'info', summary:'Success', detail:'Form Submitted'});
} get diagnostic() { return JSON.stringify(this.userform.value); } }

ValidationDemo.ts

<p-growl [value]="msgs" sticky="sticky"></p-growl>

<form [formGroup]="userform" (ngSubmit)="onSubmit(userform.value)">
<p-panel header="Validate">
<div class="ui-grid ui-grid-responsive ui-grid-pad ui-fluid" style="margin: 10px 0px">
<div class="ui-grid-row">
<div class="ui-grid-col-2">
First Name *:
</div>
<div class="ui-grid-col-6">
<input pInputText type="text" formControlName="firstname" placeholder="Required"/>
</div>
<div class="ui-grid-col-4">
<div class="ui-message ui-messages-error ui-corner-all" *ngIf="!userform.controls['firstname'].valid&&userform.controls['firstname'].dirty">
<i class="fa fa-close"></i>
Firstname is required
</div>
</div>
</div>
<div class="ui-grid-row">
<div class="ui-grid-col-2">
Last Name *:
</div>
<div class="ui-grid-col-6">
<input pInputText type="text" formControlName="lastname" placeholder="Required"/>
</div>
<div class="ui-grid-col-4">
<div class="ui-message ui-messages-error ui-corner-all" *ngIf="!userform.controls['lastname'].valid&&userform.controls['lastname'].dirty">
<i class="fa fa-close"></i>
Lastname is required
</div>
</div>
</div>
<div class="ui-grid-row">
<div class="ui-grid-col-2">
Password *:
</div>
<div class="ui-grid-col-6">
<input pInputText type="password" formControlName="password" placeholder="Required - Min(6)"/>
</div>
<div class="ui-grid-col-4">
<div class="ui-message ui-messages-error ui-corner-all" *ngIf="!userform.controls['password'].valid&&userform.controls['password'].dirty">
<i class="fa fa-close"></i>
<span *ngIf="userform.controls['password'].errors['required']">Password is required</span>
<span *ngIf="userform.controls['password'].errors['minlength']">Must be longer than 6 characters</span>
</div>
</div>
</div>
<div class="ui-grid-row">
<div class="ui-grid-col-2">
Description:
</div>
<div class="ui-grid-col-6">
<textarea pInputTextarea type="text" formControlName="description"></textarea>
</div>
<div class="ui-grid-col-4"></div>
</div>
<div class="ui-grid-row">
<div class="ui-grid-col-2">
Gender *:
</div>
<div class="ui-grid-col-6">
<p-dropdown [options]="genders" formControlName="gender" [autoWidth]="false"></p-dropdown>
</div>
<div class="ui-grid-col-4">
<div class="ui-message ui-messages-error ui-corner-all" *ngIf="!userform.controls['gender'].valid&&userform.controls['gender'].dirty">
<i class="fa fa-close"></i>
Gender is required
</div>
</div>
</div>
<div class="ui-grid-row">
<div class="ui-grid-col-2"></div>
<div class="ui-grid-col-6">
<button pButton type="submit" label="Submit" [disabled]="!userform.valid"></button>
</div>
<div class="ui-grid-col-4"></div>
</div>
<div style="text-align:center;margin-top:20px" *ngIf="submitted">
Form Submitted
<br>
{{diagnostic}}
</div>
</div>
</p-panel>
</form>

ValidationDemo.html

PrimeNG之Validation的更多相关文章

  1. jQuery学习之路(8)- 表单验证插件-Validation

    ▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...

  2. jQuery- 表单验证插件-Validation

      ▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法, ...

  3. 交叉验证(Cross Validation)原理小结

    交叉验证是在机器学习建立模型和验证模型参数时常用的办法.交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏. ...

  4. MVC学习系列13--验证系列之Remote Validation

    大多数的开发者,可能会遇到这样的情况:当我们在创建用户之前,有必要去检查是否数据库中已经存在相同名字的用户.换句话说就是,我们要确保程序中,只有一个唯一的用户名,不能有重复的.相信大多数人都有不同的解 ...

  5. MVC学习系列12---验证系列之Fluent Validation

    前面两篇文章学习到了,服务端验证,和客户端的验证,但大家有没有发现,这两种验证各自都有弊端,服务器端的验证,验证的逻辑和代码的逻辑混合在一起了,如果代码量很大的话,以后维护扩展起来,就不是很方便.而客 ...

  6. jQuery Validation Engine 表单验证

    功能强大的 jQuery 表单验证插件,适用于日常的 E-mail.电话号码.网址等验证及 Ajax 验证,除自身拥有丰富的验证规则外,还可以添加自定义的验证规则. 兼容 IE 6+, Chrome, ...

  7. 架构验证过程发现非数据类型错误 validation found non-data type errors

    问题: infopath报一下错误 validation found non-data type errors 架构验证过程发现非数据类型错误 原因: 重复表字段在后台代码里要一一对应,否则报错. 错 ...

  8. ORA-19563: header validation failed for file

    在测试服务器还原数据库时遇到了ORA-19563错误.如下所示 RMAN-00571: ======================================================== ...

  9. [WPF系列]-Data Validation

    项目经常前台界面涉及到用户输入时,我们常常会用到数据有效性的验证.在网页中我们之前用js来校验Form中的数据有效性.在WPF中我们如何实现这种验证机制了?答案:INotifyDataErrorInf ...

随机推荐

  1. mac 10.12 sierra 机械键盘+ratm可编程鼠标记录

      系统:mac 10.12 sierra 键盘:机械键盘 鼠标:mad catz ratm 在mac 10.11/10.12 之前: 机械键盘:一般的机械键盘在mac上使用, alt 和 win 键 ...

  2. 【转载】linux系统时间自动同步:ntp

    NTP基本介绍 NTP(Network TimeProtocol,网络时间协议),使用来使本地机器与服务端机器时间保持同步的一种协议.如果我们只有一台机器那么只需要安装NTP客户端ntpdate这个包 ...

  3. [svc]linux紧急情况处理

    如何判断 Linux 服务器是否被入侵? w-last-history top-lsof-strace netstat CPU利用率很高 800%爆了 netstat find 文件 查/etc/rc ...

  4. How do I learn machine learning?

    https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? ...

  5. 【Java】设计模型-五种单例模型

    一. 什么是单例模式 只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计. 单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在. 单例模式有很多好处,它能够 ...

  6. 【iCore4 双核心板_ARM】例程三十一:HTTP_IAP_FPGA实验——更新升级FPGA

    实验现象: 核心代码: int main(void) { GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC_GPIOI_CLK_ENABLE(); __HAL_R ...

  7. F3D模式规则详解

    F3D有两个版本,长期版还有短期版 长期版规则 1.购买时候分配 第一队 20% to 奖金池, 56%分给所有人, 30% 持有p3d的人第二队 35% to 奖金池, 43%分给所有人, 8% 持 ...

  8. SparkStreaming+Kafka 处理实时WIFI数据

    业务背景 技术选型 Kafka Producer SparkStreaming 接收Kafka数据流 基于Receiver接收数据 直连方式读取kafka数据 Direct连接示例 使用Zookeep ...

  9. matlab将矩阵数据归一化到[0,255]

    matlab将矩阵数据归一化到[0,255]     function OutImg = Normalize(InImg) ymax=255;ymin=0; xmax = max(max(InImg) ...

  10. CustomDrawableTextView

    public class CustomDrawableTextView extends TextView{ //image width.height private int imageWidth; p ...