2017-10-17 60 views
0

功能以下這個例子:終極版型字段驗證電平不接受驗證直列

https://redux-form.com/7.1.1/examples/fieldlevelvalidation/

驗證是:

const maxLength = max => value => 
    value && value.length > max ? `Must be ${max} characters or less` : undefined 
const maxLength15 = maxLength(15) 

用於現場名:

<Field 
    name="username" 
    type="text" 
    component={renderField} 
    label="Username" 
    validate={[required, maxLength15, minLength2]} 
    warn={alphaNumeric} 
    /> 

如果我在驗證中更改,maxLength(15)的maxLength15不起作用:

驗證= {[要求,最大長度(15),, minLength2]}

爲什麼我需要創建另一個功能 「maxLength15」 來驗證作品,因爲 「最大長度(15)」 不拋出錯誤。

回答

0

是的,基本上你需要在render()方法之外創建驗證函數,因爲每次表單被渲染時都會創建一個新函數。

的文檔狀態:Note: if the validate prop changes the field will be re-registered.

所以,你可以在內嵌功能導致該字段UNREGISTER_FIELD一個控制檯中看到,然後再REGISTER_FIELD