[英]jQuery empty validation for primefaces components
我想知道如何通過jQuery檢查是否有一些字段為空。 如果是,我將顯示一個對話框。
我正在嘗試類似的東西:
$('input:text').each(function( index ) {
if( $(this).val().length == 0){
...
}
});
不幸的是,我看到例如<p:selectOneMenu>
值始終為""
,或者p:selectOneRadio
呢?
PrimeFaces中的每個組件都有其自己的方式來檢查值是否為空。
考慮到這一點,我將以“幾乎”通用的方式發布如何在inputText,selectOneMenu,selectOneRadio中檢查空值。
for (var propertyName in PrimeFaces.widgets) {
if (PrimeFaces.widgets[propertyName] instanceof PrimeFaces.widget.InputText) {
if(PrimeFaces.widgets[propertyName].jq.val().length == 0) {
PrimeFaces.widgets[propertyName].jq.css('background', 'red')
}
} else if(PrimeFaces.widgets[propertyName] instanceof PrimeFaces.widget.SelectOneRadio) {
if(PrimeFaces.widgets[propertyName].checkedRadio.length == 0){
PrimeFaces.widgets[propertyName].jq.css('background', 'red')
}
} else if(PrimeFaces.widgets[propertyName] instanceof PrimeFaces.widget.SelectOneMenu) {
if(PrimeFaces.widgets[propertyName].getSelectedValue() == '') {
PrimeFaces.widgets[propertyName].jq.parent().css('background', 'red')
}
}
}
基本上,我們迭代頁面中擁有的PrimeFaces小部件,並根據組件的類型確定如何檢查值的方式。
現在要擴展它,您需要編寫每個單獨組件的驗證方式。
可以在github上找到一個小的工作示例。 和一個在線演示 。
希望這可以幫助。
也許是這樣的:
$('input:text').each(function( index ) {
if( $(this).val().length == 0 || $.trim($(this).val()) == ""){
alert("empty");
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.