我在我的表单中使用了一个验证函数,它检查一个字段是否为空。这适用于普通文本输入框,但不适用于 React-Draft-WYSIWYG 框。
我想检查 WYSIWYG 框是否为空,如果是,则显示错误消息,即this.state.descriptionError
这是我的状态:
state = {
name: "",
description: [],
nameError: "",
descriptionError: "",
}
这是我的 React-draft-WYSIWYG 表单元素:
<Form>
<Label>Description</Label>
<Editor
editorState={this.state.description}
toolbarClassName="toolbarClassName"
wrapperClassName="wrapperClassName"
editorClassName="editorClassName"
onEditorStateChange={this.onDescChange} />
<div>
{this.state.descriptionError}
</div>
</Form>
我的验证功能如下:
validate = () => {
let nameError = "";
let descriptionError = "";
if(!this.state.name) { // Checks if field is empty
nameError = "Please enter a name";
}
if(this.state.description === "<p></p>↵") { // The problem
descriptionError = "Please enter a description";
}
if (nameError || descriptionError) {
this.setState({nameError, descriptionError});
return false;
}
return true;
};
它适用于该name
字段,因为它等于一个空字符串。但是对于 React-Draft-WYSIWYG,它不是一个字符串,所以我不确定要设置什么this.state.description
。
非常感谢任何帮助或建议,如果您需要更多详细信息,我可以快速更新我的答案。