2

我在我的表单中使用了一个验证函数,它检查一个字段是否为。这适用于普通文本输入框,但不适用于 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

非常感谢任何帮助或建议,如果您需要更多详细信息,我可以快速更新我的答案。

4

0 回答 0