ComboBox选项验证

专:http://www.iteye.com/problems/91175

属性名 类型 描述 默认值 
required 布尔 定义文本域是否为必填项 false 
validType 字符串 定义字段的验证类型,比如email, url, etc. null 
missingMessage 字符串 当文本框为空时提示的文本信息 This field is required. 
invalidMessage 字符串 当文本框内容不合法时提示的文本信息 null 

required只表示文本框中是否有内容,easy ui的select框渲染完后 会自动添加一个文本框用于输入,如下所示: 
<span class="combo" style="width: 198px; height: 20px;"><input type="text" class="combo-text validatebox-text validatebox-invalid" autocomplete="off" style="width: 176px; height: 20px; line-height: 20px;"><span><span class="combo-arrow" style="height: 20px;"></span></span><input type="hidden" class="combo-value" name="state" value=""></span>
 
此时如果required=true,你清空此文本框,则会报 必须有内容的异常; 即此时验证的是<option></option>中间的内容是否为空 

你可以加editable="false" 不允许编辑 

你现在是想校验 <option value="">是否为空,可以这样 

1、注册自定义的validateType 
$.extend($.fn.validatebox.defaults.rules, {  
selectValueRequired: {  
validator: function(value,param){  
console.info($(param[0]).find("option:contains('"+value+"')").val()); 
return $(param[0]).find("option:contains('"+value+"')").val() != '';  
},  
message: 'select value required.'  
}  
}); 


2、使用 

<select 
id="test" 
class="easyui-combobox" 
name="state" 
style="width:200px;" 
required="true" 
validType="selectValueRequired['#test']" 
> 
   <option value="">test1</option>   
   <option value="2">test2</option>   
   <option value="3">test3</option> 
</select> 

selectValueRequired['#test'] 表示验证类型 和 验证的组件

2012年12月16日 18:45

 

你可能感兴趣的:(combobox)