标签: angular2-forms

Angular2 - Validators.compose

我遇到了这个Validators.compose函数的问题(没有错误,只是没有验证)

这是我的代码:

  var validators = ()=> {
           var validatorArr = [];                
           validatorArr.push(Validators.required);
           validatorArr.push(Validators.maxLength(column.max));
           return Validators.compose(validatorArr);
    };
  var ctrl: Control = new Control(row.items[column.mapper], validators);
  row.form.addControl(column.mapper, ctrl);
Run Code Online (Sandbox Code Playgroud)

当我把Validators.required而不是validators函数,验证工作.

angular2-forms angular

2
推荐指数
1
解决办法
2万
查看次数

Angular2属性指令表单输入

我正在努力让@Directive按预期工作.

我希望Attr Directive能够访问指令构造函数中的model.password并使用当前密码设置变量varpassword.

我还希望能够检索表单字段中的所有其他输入,我将如何进行此操作?

很多这方面的文档都不完整,因为我知道Beta.

我一直在努力解决这个问题,并且成功有限.我已经删除了我试图让它继续工作的导入,因为我觉得我很困惑如何在指令中正确使用它们我试过"NgModel,NgControl,ControlGroup,NgFormModel,FormBuilder ......".

我的测试示例代码如下.

登录-form.html

<form #testForm="ngForm">
    Email Address: 
    <input type="text" name="username" size="50" required="required" [(ngModel)]="model.username" ngControl="username" #username="ngForm" />

    Password: 
    <input type="password" name="password" size="20" required="required" [(ngModel)]="model.password" ngControl="password" #password="ngForm" testdir />

    <input type="submit" value="Login" />
</form>
Run Code Online (Sandbox Code Playgroud)

app.ts

import {Component} from 'angular2/core';

import {TestDirective} from '../../directives/test.directive';

@Component({
    selector: 'test-app',
    templateUrl: 'login-form.html',
    directives: [TestDirective]
})
export class TestApp {}
Run Code Online (Sandbox Code Playgroud)

test.directive.ts

import {Directive} from 'angular2/core';

@Directive({
    selector: '[testdir]',
    host: {
        '(keydown)': 'run()'
    }
})
export class TestDirective {

    varpassword: string;

    constructor() …
Run Code Online (Sandbox Code Playgroud)

angular2-forms angular2-directives angular

2
推荐指数
1
解决办法
3127
查看次数

Angular 2 - 仅接受输入中的自然数

我有一个商店组件,我需要禁止人们在我的输入中选择负数.

例如,如果用户在我的输入中键入-3,则输入值将以immadiately方式更改为0.

如何控制我的角度2输入OnChange值以将其设置回0它值为负?

尝试使用(ngModelChange)="myMethod($event)"并将参数设置为0,如果它是负数,但不起作用.

angular2-forms angular

2
推荐指数
1
解决办法
2万
查看次数

为什么使用ngSubmit而不是onSubmit

是什么原因使用ngSubmit提交表单而不是使用onSubmit角度2中的提交按钮.

angular2-forms angular

2
推荐指数
1
解决办法
2090
查看次数

Angular2 ReactiveFormsControl:如何绑定单选按钮?

我正在使用ReactiveFormsModuleAngular2来创建包含表单的组件.这是我的代码:

foo.component.ts

constructor(fb: FormBuilder) {
    this.myForm = fb.group({
        'name': ['', Validators.required],
        'surname': ['', Validators.required],
        'gender': []
    });
}
Run Code Online (Sandbox Code Playgroud)

foo.component.html

<div class="two fields">
    <div class="four wide field">
        <label>Name*</label>
        <input type="text" [formControl]="myForm.controls.name"/>
    </div>

    <div class="four wide field">
        <label>Surname*</label>
        <input type="text" [formControl]="myForm.controls.surname"/>
    </div>
</div>

<div class="inline fields">
    <label for="gender">Gender</label>
    <div class="field">
        <div class="ui radio checkbox">
            <input type="radio" name="gender" checked="" tabindex="0" class="hidden" [formControl]="myForm.controls.gender">
            <label>Male</label>
        </div>
    </div>
    <div class="field">
        <div class="ui radio checkbox">
            <input type="radio" name="gender" tabindex="0" class="hidden" [formControl]="myForm.controls.gender">
            <label>Female</label>
        </div>
    </div>
</div> …
Run Code Online (Sandbox Code Playgroud)

checkbox radio angular2-forms angular2-formbuilder angular

2
推荐指数
1
解决办法
6699
查看次数

Angular2:如何访问Component.ts中的表单验证字段

例如,我有一个表单(不是FormGroup),视图看起来像这样

<form #f="ngForm" novalidate>
     <label>Email</label>
     <input type="email" [(ngModel)]="player.email" class="form-control" name="email" #email="ngModel" required>

     <!-- with #email code, now, in view, I have variable with name email!!! -->
</form>
Run Code Online (Sandbox Code Playgroud)

使用#email标记我声明一个名为'email'的变量,并且使用此变量我可以检查验证错误.例如

 <div [hidden]="email.valid || email.pristine"
               class="alert alert-danger">
            email is required
 </div>
Run Code Online (Sandbox Code Playgroud)

如何在组件类中访问此变量?

validation angular2-forms angular

2
推荐指数
1
解决办法
2110
查看次数

以编程方式禁用反应式表单组件

我理解如何指定要禁用的被动表单控件的初始状态.

someControl: [{value: '', disabled: true}]

如何根据表单中另一个值的选择,以编程方式稍后更改禁用状态.因此,例如,someControl如果anotherControl在下拉列表中选择了某个值,则应禁用,否则启用.

谢谢

typescript angular2-forms angular

2
推荐指数
2
解决办法
2461
查看次数

angular2-select不使用formcontrol

我正在使用角度2选择。

我正在使用formControlName。

 <form class="edit" [formGroup]="addcameraForm" (ngSubmit)="onSubmit(addcameraForm.value)" class="form-horizontal">    
    <div class="albumname">
       <label for="input01">Select user</label>
       <ng-select  style="color:#000;"
           formControlName="selectMultiple"
           [options]="options"
           [multiple]="true"
           placeholder="Select Assets">
      </ng-select>
   </div>             
   <div class="form-group">
      <div class="col-sm-10">
         <button class="btn btn-success btn-auth" [disabled]="!addcameraForm.valid">Add Camera</button>
      </div>
   </div>
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的组件。

ngOnInit() {
    this.addcameraForm = this.fb.group({
            ACCESS_USERS : this.fb.array([]),
            APART_ID:[''],
            CAMERA_ACCESS_CODE:[''],
            CAMERA_ACCESS_URL: [''],
            CAMERA_CODE: [''],
            CAMERA_NAME: [''],
            CAMERA_PASSWORD:[''],
            CAMERA_STATUS:[''],
            CAMERA_USERNAME:[''],
            selectMultiple:['']
        });
 } 
Run Code Online (Sandbox Code Playgroud)

我得到这个错误

Error: There is no FormControl instance attached to form control element with name: 'selectMultiple'
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题。

请告诉我,

angular2-forms angular

2
推荐指数
1
解决办法
1315
查看次数

如何使用Angular 2使用选择下拉列表过滤数据?

我想根据使用角度2的表内的下拉选择来显示JSON数据中的不同值.

<div>
    <label for="input-one">select</label>
</div>
<div>
    <select>
        <option value="">--- Select ---</option>
        <option value="ABC">ABC</option>
        <option value="def">def</option>
   </select>
</div>
Run Code Online (Sandbox Code Playgroud)

例如:

如果选择ABC,则应显示与表中的JSON数据匹配的ABC值.如果选择def,它应该显示来自表中JSON数据的匹配值.

我想在Angular 2中这样做.请告诉我可能是什么解决方案.

angular2-forms angular2-directives angular

2
推荐指数
1
解决办法
1万
查看次数

以角度2创建日志文件

我对Angular 2和打字稿都比较新.我想以角度2创建一个日志文件.可以使用角度2.

typescript angular2-forms angular

2
推荐指数
1
解决办法
2902
查看次数