2016-11-08 35 views
1

即使我添加maxLength =“250”我可以在agular2素材中输入数值md-inputmd-input maxlength不起作用

enter image description here

  1. 反正我有可以从后250字符输入文本禁用输入字段。
  2. 是否有任何替代maxLenth。

我的表单输入是这样的:

<div class="form-group"> 
    <md-input type="text" required placeholder="Name" formControlName="name" #nameCountHint 
      maxLength="250" class="full-width" dividerColor="{{changeForm.controls.name.valid ? 'primary': 'accent'}}"> 
    <md-hint align="end">{{nameCountHint.characterCount}}/250</md-hint> 
    </md-input> 
    <agile-control-messages color="primary" [control]="teamForm.controls.name"></agile-control-messages> 
</div> 

任何帮助将是巨大的。

+0

你可以提供一个工作小提琴? – claudios

回答

1

我发现这个简单的演示如何进行验证,也许它可以帮助你。

组件模板:

<form [ngFormModel]="someFormHandle" 
      [(ngSubmit)="onSubmit()"> 

      <input class="form-control" 
        [ngFormControl]="someNumber"> 

      <button class="btn btn-primary" 
        [disabled]="!someFormHandle.valid"> 
        Submit 
      </button> 
</form> 

组件:

@Component({ 
    selector: 'some-form', 
    templateUrl: './some-form.component.html', 
    directives: [FORM_DIRECTIVES] 
}) 
export class SomeForm implements OnInit { 

    someFormHandle:ControlGroup; 
    someNumber:AbstractControl; 

    constructor(private formBuilder:FormBuilder) { 
    } 

    divisibleByTen(control:Control) { 
     return parseInt(control.value) % 10 == 0 ? null : { 
     divisibleByTen: true 
     } 
    } 

    onSubmit(){ 
    //Some submit logic 
    } 

    ngOnInit():void { 
    this.someFormHandle = this.formBuilder.group({ 
     'someNumber': ['', Validators.compose([Validators.required, 
              Validators.maxLength(250), 
              this.divisibleByTen])] 
    }); 

    this.someNumber = this.someFormHandle.find('someNumber'); 
    } 

} 
+0

md-input-container不在角度2-材质中。 https://github.com/angular/material2/blob/master/src/lib/input/README.md。 – Karthigeyan

+0

@Karthigeyan,哇!它是Angular2。但你试过了吗? – claudios

+0

是的......它不工作 – Karthigeyan