【发布时间】:2018-01-16 11:20:49
【问题描述】:
我正在为我的 React Redux 表单使用 redux-form 包。我知道如何对其他字段进行验证,例如电子邮件、姓名。
但是,我不知道如何验证 redux-form 中的 URL。我应该在我的 URL 字段中检查什么格式?
const renderField = ({ input, label, type, placeholder, message , meta: { touched, error, warning } }) => (
<Form.Field >
<label className="new-font">{label}</label>
<Input {...input} type={type} className="new-font" placeholder={placeholder} />
{touched && error &&
<div>
<Label
basic
color='red'
pointing
className="new-font"
>
{error}
</Label>
</div>
}
{(input.name === ('desc') || input.name === ('hyperlink')) ?
<Message compact>
{message}
</Message> : <span></span>
}
</Form.Field>
)
function validate(values){
const errors ={};
if(!values.name){
errors.name='Please let me know who I should thank!';
}
if(!values.email){
errors.email='Please enter an email address';
}
if (values.email && !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(values.email)
) {
errors.email = 'Please enter a valid email address e.g test@gmail.com'
}
if(values.desc && values.desc.length > 50 ){
errors.desc="Key in 50 characters or less";
}
if(!values.hyperlink){
errors.hyperlink="Insert a URL address here to your favourite website!";
}
return errors;
}
【问题讨论】:
标签: javascript forms reactjs redux redux-form