Skip to content

Commit a8607f9

Browse files
committed
增加动态添加字段校验
1 parent e737403 commit a8607f9

1 file changed

Lines changed: 47 additions & 22 deletions

File tree

example/complex/index.html

Lines changed: 47 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
<li>爱好:可选,如果选择最少选择两项</li>
7575
<li>携带人员:必须选爸,不能同时选哥和弟,也不能同时选姐和妹</li>
7676
<li>喜欢的姓名:可选,不能输入 张三</li>
77+
<li>性别:选择男性必须输入你的姓名</li>
7778
</ul>
7879
</div>
7980

@@ -120,6 +121,18 @@
120121
<input type="text" name="userName" />
121122
</div>
122123
<p class="error-box" id="userName"></p>
124+
125+
<div class="control-box">
126+
<label class="lbl">性别:</label>
127+
<label><input name="gender" type="radio" value="1" /></label>&nbsp;
128+
<label><input name="gender" type="radio" value="0" /></label>
129+
</div>
130+
<p class="error-box" id="gender"></p>
131+
<div class="control-box">
132+
<label class="lbl">你的的姓名:</label>
133+
<input type="text" name="yourName" />
134+
</div>
135+
<p class="error-box" id="yourName"></p>
123136

124137
<button id="submitButton" type="button">提交</button>
125138
</form>
@@ -132,8 +145,6 @@
132145
/**
133146
* 注意:此demo比较简单,请结合实际项目修改
134147
*/
135-
var submitForm = document.getElementById('submitForm');
136-
var submitButton = document.getElementById('submitButton');
137148

138149
// 必须以字母 a 开头
139150
WeValidator.addRule('startA', {
@@ -151,14 +162,11 @@
151162
var validatorInstance = new WeValidator({
152163
multiCheck: true,
153164
onMessage: function(data){
165+
console.log('onMessage');
154166
console.log(data);
155167

156168
for(var name in data){
157-
let ele = document.getElementById(name)
158-
159-
if(ele){
160-
ele.innerHTML = data[name].msg
161-
}
169+
$('#' + name).html(data[name].msg)
162170
}
163171
},
164172
rules: {
@@ -210,27 +218,44 @@
210218
}
211219
});
212220

213-
submitButton.onclick = function(){
214-
var data = $(submitForm).serializeObject();
221+
// 提交
222+
$('#submitButton').on('click', function(){
223+
var data = $('#submitForm').serializeObject();
215224

216-
console.log(data)
217-
clearError()
218-
if (!validatorInstance.checkData(data)) return;
225+
console.log(data)
219226

220-
console.log('开始提交');
221-
222-
return false
223-
}
227+
$('.error-box').html('')
224228

225-
function clearError(){
226-
var eles = document.querySelectorAll('.error-box')
229+
if (!validatorInstance.checkData(data)) return;
230+
231+
console.log('开始提交');
232+
})
227233

228-
eles = [].slice.call(eles)
229234

230-
for(var i = 0; i < eles.length; i++){
231-
eles[i].innerHTML = ''
235+
// 动态添加字段校验
236+
// 选择男性必须输入你的姓名
237+
$('[name=gender]').on('change', function(ev){
238+
var val = $(this).val()
239+
240+
// 选择男性
241+
if(val == '1'){
242+
validatorInstance.addRules({
243+
rules: {
244+
yourName: {
245+
required: true
246+
}
247+
},
248+
messages: {
249+
yourName: {
250+
required: '选择男性,必须输入你的姓名'
251+
}
252+
}
253+
})
254+
}else{
255+
// 选择女性
256+
validatorInstance.removeRules(['yourName'])
232257
}
233-
}
258+
})
234259
</script>
235260
</body>
236261
</html>

0 commit comments

Comments
 (0)