Man*_*ari 3 validation mongodb node.js express express-validator
我在我的项目中使用 Express-validator 我来自客户端的 json 是
{"name": "john doe"}
Run Code Online (Sandbox Code Playgroud)
我的快速验证码是
[check('name', 'invalid name').isAlpha()]
Run Code Online (Sandbox Code Playgroud)
为什么此代码返回无效名称,而这是一个字符串。我也尝试了isString()但它也不起作用,它的工作方式与isAlpha()相同。对客户端的错误json 响应是
{
"errors": [
{
"value": "john doe",
"msg": "invalid name",
"param": "name",
"location": "body"
}
]
}
Run Code Online (Sandbox Code Playgroud)
isAlpha() 函数是否只将一个单词视为字符串
我怎样才能解决这个问题
小智 7
有一个 .isAlpha 选项可以用来忽略空格:
check('name', 'invalid name').isAlpha('en-US', {ignore: ' '})
Run Code Online (Sandbox Code Playgroud)
第一个参数“en-US”是 AlphaLocale。例如,我使用“es-ES”来验证西班牙语特殊字符。您可以使用其中之一来验证其他语言: 'ar' | 'ar-AE' | 'ar-AE' | 'ar-BH' | 'ar-BH' | 'ar-DZ' | 'ar-DZ' | 'ar-EG' | 'ar-IQ' | 'ar-IQ' | 'ar-JO' | 'ar-JO' | 'ar-KW' | 'ar-KW' | 'ar-LB'| 'ar-LY' | 'ar-MA' | 'ar-MA' | 'ar-QA' | 'ar-QA' | 'ar-QM' | 'ar-QM' | 'ar-SA' | 'ar-SD' | 'ar-SD' | 'ar-SY' | 'ar-TN' | 'ar-TN' | 'ar-YE' | 'az-AZ' | 'bg-BG' | 'bg-BG' | 'cs-CZ' | 'cs-CZ' | 'da-DK' | 'da-DK' | 'de-DE' | 'el-GR' | 'el-GR' | 'en-AU' | 'en-GB' | 'en-HK' | 'en-IN' | 'en-IN' | 'en-NZ' | 'en-NZ' | 'en-US' | 'en-ZA' | 'en-ZM' | 'es-ES' | 'fa-AF' | 'fa-AF' | 'fa-IR' | 'fa-IR' | 'fr-FR' | 'fr-FR' | '他' | '呼-呼' | 'id-ID' | 'id-ID' | '它-IT' | 'ku-IQ' | 'ku-IQ' | 'nb-NO' | 'nl-NL' | 'nl-NL' | 'nn-NO' | 'pl-PL' | 'pl-PL' | 'pt-BR' | 'pt-BR' | 'PT-PT'| 'ru-RU' | 'sk-SK' | 'sl-SI' | 'sl-SI' | 'sr-RS' | 'sr-RS' | 'sr-RS@拉丁' | 'sv-SE' | 'th-TH' | 'th-TH' | 'tr-TR' | 'tr-TR' | '英国-UA' | 'vi-VN'。
第二个参数是 IsAlphaOptions 对象。它仅包含一个可选参数“ignore”,并且可以具有字符串、string[] 或 RegExp 的值。因此您也可以使用 RegExp \s 忽略空格。
.isAlpha('en-US', {ignore: '\s'})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8384 次 |
| 最近记录: |