Angular 使用Form Builder进行HTML文件浏览的角度自定义验证
我正在使用反应式表单验证,需要验证文件上载控件。目前,我正在使用一个变更指令来处理它的验证Angular 使用Form Builder进行HTML文件浏览的角度自定义验证,angular,Angular,我正在使用反应式表单验证,需要验证文件上载控件。目前,我正在使用一个变更指令来处理它的验证 <label class="btn btn-primary btn-file"> Browse <input type="file" (change)="fileChanged($event)" style="display:none;"> </label> 我可以将上载/文件浏览放到表单生成器中,并从那里对其使用自定义验证吗?首先在表单中创建一个控件,但不要通
<label class="btn btn-primary btn-file">
Browse <input type="file" (change)="fileChanged($event)" style="display:none;">
</label>
我可以将上载/文件浏览放到表单生成器中,并从那里对其使用自定义验证吗?首先在表单中创建一个控件,但不要通过
formControlName
将其分配给输入。相反,您希望继续使用(change)
事件,但在change函数中,您希望将文件值添加到控件中。您还需要编写一个自定义验证器,该验证器将检查您需要检查的任何文件。下面是它的外观(isch):
file.validator.ts
:
export const FileValidator = (): ValidatorFn => {
return (control: FormControl): {[key: string]: boolean} => {
// Do whatever checking you need here
const valid: boolean = true;
return valid ? null : {
file: true
};
};
};
验证将检查文件
控件中的任何值,因此您不必在单独的函数中手动验证它
我希望这会有所帮助。首先在表单中创建一个控件,但不要通过
formControlName
将其分配给输入。相反,您希望继续使用(change)
事件,但在change函数中,您希望将文件值添加到控件中。您还需要编写一个自定义验证器,该验证器将检查您需要检查的任何文件。下面是它的外观(isch):
file.validator.ts
:
export const FileValidator = (): ValidatorFn => {
return (control: FormControl): {[key: string]: boolean} => {
// Do whatever checking you need here
const valid: boolean = true;
return valid ? null : {
file: true
};
};
};
验证将检查文件
控件中的任何值,因此您不必在单独的函数中手动验证它
我希望这有帮助。您需要什么样的验证?你能分享你需要什么样的验证方法吗?你能分享你的价值观吗
export const FileValidator = (): ValidatorFn => {
return (control: FormControl): {[key: string]: boolean} => {
// Do whatever checking you need here
const valid: boolean = true;
return valid ? null : {
file: true
};
};
};