我已经开发了一个注册表单,允许用户注册一个新帐户。
在Ionic2的注册表格中,我必须在提交前验证表格中的某些值,其中一个值(全名)可能包括英文或阿拉伯字符
我使用了表单验证概念,如下所示:
this.personalInfoForm = formBuilder.group({
txtFullName: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(30), Validators.pattern('[a-zA-Z ]*'), Validators.required])],
txtNickname: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(30), Validators.pattern('[a-zA-Z ]*'), Validators.required])],
SGender: ['', Validators.required],
txtCommercialName: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(30), Validators.pattern('[a-zA-Z ]*')])],
txtDateOfBirth: ['', Validators.required],
});
我的问题是验证器只接受英文字符,当用户输入阿拉伯字符时,验证器不会将其识别为有效值,因此它不接受它
是否有任何模式使验证器接受阿拉伯字符,英文字符,空格
答案 0 :(得分:2)
您目前只验证英文字符:Validators.pattern('[a-zA-Z ]*')
。
您需要找到您要验证的非英语语言所需的unicode字符。查看Jeremy Ruten's回答。提到的here阿拉伯字符集将为\u0600-\u06FF
。
所以你的英语和阿拉伯语模式将是
Validators.pattern('[a-zA-Z\u0600-\u06FF ]*')