我遇到了这个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函数,验证工作.
我正在努力让@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) 我有一个商店组件,我需要禁止人们在我的输入中选择负数.
例如,如果用户在我的输入中键入-3,则输入值将以immadiately方式更改为0.
如何控制我的角度2输入OnChange值以将其设置回0它值为负?
尝试使用(ngModelChange)="myMethod($event)"并将参数设置为0,如果它是负数,但不起作用.
是什么原因使用ngSubmit提交表单而不是使用onSubmit角度2中的提交按钮.
我正在使用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) 例如,我有一个表单(不是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)
如何在组件类中访问此变量?
我理解如何指定要禁用的被动表单控件的初始状态.
someControl: [{value: '', disabled: true}]
如何根据表单中另一个值的选择,以编程方式稍后更改禁用状态.因此,例如,someControl如果anotherControl在下拉列表中选择了某个值,则应禁用,否则启用.
谢谢
我正在使用角度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)
我该如何解决这个问题。
请告诉我,
我想根据使用角度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中这样做.请告诉我可能是什么解决方案.
我对Angular 2和打字稿都比较新.我想以角度2创建一个日志文件.可以使用角度2.