在 office fabric Ui 控件中单击按钮时验证表单字段
Validating Form Fields on button click in office fabric Ui control
我的表单中有一个 TextField 和 PrimaryButton。
单击按钮时我想验证 textfield.If 没有值然后在单击按钮时触发必填字段验证并显示与 onGetErrorMessage 事件中显示的消息相同的消息。
我知道验证会触发 onBlur 事件,但我想在单击按钮时触发验证。
我该怎么做?
首先你必须使用 refs
到你的 TextField
<TextField ref={(input) => { this.textInput = input; }} label='test' />
现在您可以使用 refs
设置点击时 onGetErrorMessage
onClick(e){
if(this.refs.input.value == undefined || this.refs.input.value == null || this.refs.input.value == '')
this.refs.input.onGetErrorMessage = "you error message"
}
更新 1: 查看此代码 snippet
class FormExample extends React.Component {
constructor() {
super();
this.state={
inputError:''
}
this.ValidateText = this.ValidateText.bind(this)
}
ValidateText(e){
this.setState({
inputError:this.input.value?'':'testing'
})
}
render() {
return (
<div>
<div>
<TextField
ref={(input) => { this.input = input; }}
label="Name"
errorMessage={this.state.inputError}
/>
<input type='button' value='Submit'
onClick={this.ValidateText} />
</div>
</div>
);
}
}
我的表单中有一个 TextField 和 PrimaryButton。
单击按钮时我想验证 textfield.If 没有值然后在单击按钮时触发必填字段验证并显示与 onGetErrorMessage 事件中显示的消息相同的消息。
我知道验证会触发 onBlur 事件,但我想在单击按钮时触发验证。
我该怎么做?
首先你必须使用 refs
到你的 TextField
<TextField ref={(input) => { this.textInput = input; }} label='test' />
现在您可以使用 refs
onGetErrorMessage
onClick(e){
if(this.refs.input.value == undefined || this.refs.input.value == null || this.refs.input.value == '')
this.refs.input.onGetErrorMessage = "you error message"
}
更新 1: 查看此代码 snippet
class FormExample extends React.Component {
constructor() {
super();
this.state={
inputError:''
}
this.ValidateText = this.ValidateText.bind(this)
}
ValidateText(e){
this.setState({
inputError:this.input.value?'':'testing'
})
}
render() {
return (
<div>
<div>
<TextField
ref={(input) => { this.input = input; }}
label="Name"
errorMessage={this.state.inputError}
/>
<input type='button' value='Submit'
onClick={this.ValidateText} />
</div>
</div>
);
}
}