2017-07-29 32 views
0

我的窗體中有一個TextField和PrimaryButton。驗證表單域按鈕單擊辦公面料Ui控件

按鈕單擊我想驗證textfield.If沒有值然後觸發buttonfield驗證按鈕單擊並顯示消息相同的onGetErrorMessage事件顯示。

我知道驗證是fire onBlur事件,但我想點擊按鈕點擊驗證。

我該怎麼辦?

回答

1

首先,你必須使用refsTextField

<TextField ref={(input) => { this.textInput = input; }} label='test' /> 

現在你可以使用refs

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設置點擊onGetErrorMessage看看這個代碼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> 
    ); 
    } 
} 
+0

什麼是this.textInput?我得到的錯誤。我無法找到this.textInput,也沒有找到this.refs.input.onGetErrorMessage? –

+0

雅我也越來越錯誤..我創建片段請等待一段時間.. –

+0

@PiyushDhamecha你使用* ref回調不字符串ref *,所以訪問文本字段值使用此:'this.textInput。值:) :) –