Javascript primefaces组件的jQuery空验证
我想知道如何通过jQuery检查是否有一些字段是空的。如果是,我将显示一个对话框 我试着说:Javascript primefaces组件的jQuery空验证,javascript,jquery,primefaces,Javascript,Jquery,Primefaces,我想知道如何通过jQuery检查是否有一些字段是空的。如果是,我将显示一个对话框 我试着说: $('input:text').each(function( index ) { if( $(this).val().length == 0){ ... } }); 不幸的是,例如,我看到的值总是”,或者p:selectOneRadio?可能是这样的: $('input:text').each(function( index ) { if
$('input:text').each(function( index ) {
if( $(this).val().length == 0){
...
}
});
不幸的是,例如,我看到
的值总是”
,或者p:selectOneRadio
?可能是这样的:
$('input:text').each(function( index ) {
if( $(this).val().length == 0 || $.trim($(this).val()) == ""){
alert("empty");
}
});
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的小部件,并根据组件的类型确定如何检查值
现在要扩展这个功能,您需要编写每个组件的验证方法
可以在上找到一个小的工作示例。还有一个
希望这能有所帮助。当我使用$(this).val()时,我在selectOneMenu中选择了一些项目。length==0这是真的。我不知道为什么我在SelectOneMenu中总是得到“”,比如说什么?
是一个普通的HTML选择,所以$('select').val()!=“”代码>就可以了。但这必须在for的范围之外完成,这是完全不同的验证方式。总之,它应该是$('input:text')。每个(…val==0)$('select')。每个(…val==0)和那些带有primefaces组件的代码?Hmm wird但input:text还返回p:SELECTONE菜单中的项目,并且这些项目始终为“”…--