angular2表单验证程序中的验证说明

angular2表单验证程序中的验证说明,angular,angular2-forms,Angular,Angular2 Forms,查看我看到的Angular2API控制类 minLength(minLength: number) : Function 我理解函数的作用 我想知道,当验证失败时,是否不能在函数中正确地描述出错的原因 例如,我想知道该函数是否不能 minLength(minLength: number, description: string) : Function 其中,描述描述了错误的原因,如下所示 Control firstCtrl = new Control( '', Validators.minL

查看我看到的Angular2API控制类

minLength(minLength: number) : Function
我理解函数的作用

我想知道,当验证失败时,是否不能在函数中正确地描述出错的原因

例如,我想知道该函数是否不能

minLength(minLength: number, description: string) : Function
其中,描述描述了错误的原因,如下所示

Control firstCtrl = new Control( '', Validators.minLength(2, description: 'Minium of two characters required) );
我在API中找不到任何类似的验证器。如果有,我很乐意分享链接/解释

期待看到您的反馈。

没有任何错误描述需要额外参数。但是你可以自己写

让我们以内置的
minLength
验证器为例。我们添加了第二个名为desc的参数,它将保存自定义错误消息

类自定义验证器{
静态minLengthWithDescription(minLength:number,desc:string):函数{
return(control:modelModule.control):{[key:string]:any}=>{
返回v.length
正如你所看到的,我们几乎没有接触到原来的那个。现在只需在视图中检查错误消息是否存在即可



年份:
//我们使用Elvis运算符检查错误是否存在
//如果存在,它将打印错误消息
{{myForm.controls.year.getError('minlength')?.desc}

最后,我们设置要显示的错误消息

导出类应用程序{
年份:控制=新控制(“”,
CustomValidators.minLengthWithDescription(4,“数字数量错误”);
}

下面是一个示例。

谢谢Eric。我认为你应该作为一个问题提交你的解决方案。当然,仅仅添加一个描述作为错误消息比现在存在的要好。modelModule.Control
来自哪里。我使用Dart,所以我尝试将验证器移植到Dart。我在示例或plnkr演示中找不到对modelModule的引用。缺少一行
var v:string=control.value(从您的plunker)。