Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2-绑定到minlength属性oif HTML标记_Javascript_Angular - Fatal编程技术网

Javascript 角度2-绑定到minlength属性oif HTML标记

Javascript 角度2-绑定到minlength属性oif HTML标记,javascript,angular,Javascript,Angular,我在考虑为表单编写一些可重用组件。为名字、姓氏、电子邮件等内容添加标签/输入。 我在绑定到minlength时遇到问题。 以下是部分代码: <input ngControl="name" #name="ngForm" type="text" class="form-control" id="name" required minlength="{{min}}"> 任何

我在考虑为表单编写一些可重用组件。为名字、姓氏、电子邮件等内容添加标签/输入。 我在绑定到minlength时遇到问题。 以下是部分代码:

<input 
        ngControl="name"
        #name="ngForm"
        type="text" 
        class="form-control" 
        id="name"
        required
        minlength="{{min}}">

任何想法???

您可以使用
pattern
属性和
RegExp

  • 在控制器中声明正则表达式,并从视图中引用它
regExp=“.5,}”
例如-->最少5个字符

<input 
    ngControl="name"
    #name="ngForm"
    type="text" 
    class="form-control" 
    id="name"
    required
    pattern="{{ regExp }}">

  • 或者直接在视图中使用它:
    pattern=“.5,}”

我们使用方括号和模板表达式指定对DOM属性的单向绑定

请将更改为
minlength=“{{min}}”
[minlength]=“min”

此图在某种程度上解释了Angular2属性绑定


它应该是
[attr.minlength]=“min”
,因为这是元素属性,而不是本机属性

我也尝试过,得到了以下结果:异常:模板解析错误:无法绑定到“minlength”,因为它不是已知的本机属性(“id=”name“required”[ERROR->][minlength]=“min“>这是否与minlength属性本身有关,因为我可以将min变量与插值{{min}}一起使用,如:Name必须至少为{{min}}”你发布的图片与OP问题无关。看起来你在试图寻找连环杀手。这对我几乎有效。除了我无法提交表单,因为它不断给我一条错误消息,要求我“请匹配请求的格式”。我正在输入“abcdef”它有6个字符长。@Shanie我添加了plunker链接。它工作得很好。确实如此。我认为问题在于“regExp=new regExp(“.{5,}”);”。如果我设置“regExp=”.{5,};”然后它就工作了,所以你似乎需要传递一个字符串而不是一个正则表达式对象。就这样做了。谢谢你的帮助。你知道如何使用模式来引发错误消息吗?我一直在使用:*ngIf=“email.errors.minlength”@Shanie将查找它。这很有效,但我有两个问题要问你。你能解释为什么它工作(我真的不明白)?如何使用它生成错误消息?以前我有:Name必须至少为{{min}字符长minlength不是本机属性,所以我怀疑它是否真的有效。@Shanie您可以在这里的官方指南中找到何时使用属性绑定。要验证输入,您应该使用反应式表单类,如FormControl、FormGroup等,或者使用基本表单模块,检查输入所指向的表单错误有关
<input 
    ngControl="name"
    #name="ngForm"
    type="text" 
    class="form-control" 
    id="name"
    required
    pattern="{{ regExp }}">