antd Form中getFieldDecorator校驗不能輸入空字符和特殊字符


 //校驗大於0小於等於99的數
 checkNum = (rule, value, callback) => {
   let x = value -0
   if(x >= 0 && x <= 99){
    let a = new RegExp(/^\d+(\.\d{1,2})?$/)
    if(!a.test(x)){
      return  callback("請保留兩位小數");
    }
    return  callback();
   }else{
   return  callback("請輸入小於等於99的數並保留兩位小數");
  }
}
<Form.Item label="單價:">
              {getFieldDecorator('unitPrice', { 
                  rules: [
                    { validator: this.checkNum },
                    {required: true, message: '請設置單價'},
                    { validator: (rule, value, callback) => {
                      if(value.trim()==""){
                         return callback("請輸入非空字符")
                      }else{
                         return callback();
                      }
                   }},
                    { validator: (rule, value, callback) => {
                    let reg =new RegExp("[`~!%@#$^&*()=|{}':;',\\[\\]<>《》/?~!@#¥……&*()|{}【】‘;:”“'\"。,、?]");
                      if(reg.test(value)){
                         return callback("不能輸入該特殊字符")
                      }else{
                         return callback();
                      }
                   }},
                  ],
                  initialValue: rowData?rowData.unitPrice:""
                })(<Input
                    placeholder="請設置單價"
                />)}
            </Form.Item>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章