基于avalon的驗證框架:validation
基于avalon的驗證框架開發完畢,支持實時驗證,失去焦點驗證,提交驗證,手動驗證,異步驗證(基于ES6的Promise)。可以在配置對象上的validationHooks中添加驗證規則。
驗證規則如下定義:
alpha_numeric: { |
</tr>
</tbody>
</table>
</div>
message: '必須為字母或數字' , |
</tr>
</tbody>
</table>
</div>
|
</tr>
</tbody>
</table>
</div>
get: function (value, data, next) { |
</tr>
</tbody>
</table>
</div>
next(/^[a-z0-9]+$/i.test(value)) |
</tr>
</tbody>
</table>
</div>
|
</tr>
</tbody>
</table>
</div>
|
</tr>
</tbody>
</table>
</div>
return value |
</tr>
</tbody>
</table>
</div>
} |
</tr>
</tbody>
</table>
</div>
}, |
</tr>
</tbody>
</table>
</div>
</div>
</div>
在validationHooks中自定驗證規則,每個都必須寫 message( message不能為空字符串)與 get方法。
驗證規則不懼怕任何形式的異步,只要你決定進行驗證時,執行next方法就行。next 需要傳入布爾。
get: function (value, data, next) { |
另一個例子:
message: "當前位置必須是在{{city}}" , |
get: function (value, data, next) { |
jsonpCallback: "callback" , |
success: function (data, textStatus, jqXHR) { |
注意,本組件是基于 avalon1.3.7
開發,如果是很舊的版本,可以使用avalon.validation.old.js,它一直兼容到avalon1.2.0。
注意,本組件只能綁定在 form元素
上, <form ms-widget="validation"></>
驗證框架提供了各式各樣的回調,滿足你最挑剔的需求:
onSuccess, onError, onComplete, onValidateAll, onReset, onResetAll |
其中,前面四個是一個系列,它們都有1個參數,是一個對象數組,里面一些 驗證規則對象
(如果成功,數組為空); onReset是在元素獲取焦點做重置工作的,如清理類名, 清空value值,onResetAll是用于重置整個表單,它會在組件執行它轄下的所有元素的onReset回調后再執行。
驗證規則對象的結構如下:
message: '當前位置必須是在{{city}}' , |
getMessage: function () {} |
如果用戶指定了 norequired
驗證規則,如果input為空, 那么就會跳過之后的所有驗證
er
avalon.validation自帶了許多 驗證規則
,滿足你一般的業務需求。
大家可以在onReset的回調里得到第二個參數data, 然后調用data.valueResetor()將VM中的數據也置空,如布爾數據變false, 數值數據變0,數組數據變[],字符串數組變成""
也可以在頁面添加不依賴于ms-duplex的綁定
valueAccessor: function () {} |
- 自帶驗證規則required,int,decimal,alpha,chs,ipv4
- 自帶驗證規則qq,id,email,url,date,passport,pattern
- 自帶驗證規則maxlength,minlength,lt,gt,eq,equal
- 自帶驗證規則contains,contain
- 自帶驗證規則repeat(重復密碼)
- 自定義驗證規則
- 自帶驗證規則norequied
項目主頁:http://www.baiduhome.net/lib/view/home/1416408452617
本文由用戶
jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
sesese色