2015-12-15 227 views

回答

0

我寫了一個library這會照顧一切有關在客戶端驗證字段。

要驗證你的字段,你只需要包裝你的現場組件,你就完成了...節省了大量的精力來手動管理狀態。

<Validation group="myGroup1" 
    validators={[ 
      { 
      validator: (val) => !validator.isEmpty(val), 
      errorMessage: "Cannot be left empty" 
      }, ... 
     }]}> 
      <TextField value={this.state.value} 
         className={styles.inputStyles} 
         style={{width: "100%"}} 
         onChange={ 
         (evt)=>{ 
          console.log("you have typed: ", evt.target.value); 
         } 


    }/> 

0

你的意思是表單驗證嗎?有幾個地方可以在其中添加驗證。
例如,您可以在表單字段的onChange‘處理程序中值’驗證或確認提交按鈕的點擊處理

+0

所以,我必須手動使用來驗證。我想我需要在狀態數據或道具數據中添加驗證。自定義的道具類型是否有用? – NKMY

+0

您需要驗證的是您將發送到後端的數據。數據通常在當前組件中生成,例如用戶輸入。道具數據被傳遞給當前組件以顯示或其他內容。所以他們是不同的東西。表單數據通常以狀態存儲,所以驗證始終在狀態數據中。 PropTypes僅用於開發來聲明當前組件接受的數據類型。 –