gpt4 book ai didi

jquery - 如何动态更改semantic-ui表单验证提示文本(验证后)?

转载 作者:行者123 更新时间:2023-12-01 04:41:55 24 4
gpt4 key购买 nike

我设置了以下(基本)语义 UI 表单检查:

$('#form_login').form({
fields: {
username: {
identifier: 'username',
rules: [{
type: 'empty',
prompt: 'Please enter your user name'
}]
},
password: {
identifier: 'password',
rules: [{
type: 'empty',
prompt: 'Please enter your password'
}]
}
}
});

按照宣传的方式工作,但是我希望在访问时动态本地化提示文本

我该如何做到这一点(因为它不接受函数引用)?

最佳答案

我认为提示文本只能在当前版本(2.1)中静态设置。我试图做类似的事情,我发现最好的方法是打破规则,以便每个动态结果都由自定义规则处理。

例如,我制作了一个表单,用户除其他外还可以更新其密码。我希望如果“currentPassword”字段中没有输入任何内容,则该表单可以提交,否则请遵守通常的密码规则(新密码不能与旧密码相同,最小长度为 6)。在我的表单字段中,我设置了如下规则:

currentPassword: {
identifier: 'currentPassword',
optional: true,
rules: [{
type: 'empty',
prompt: 'Please enter your current password'
}]
},
newPassword: {
identifier: 'newPassword',
rules:[{
type: 'newPasswordMinLength',
prompt: 'Password must be at least 6 characters long!'
},{
type: 'newPasswordDifferent',
prompt: 'New password must be different from your current one'
}]
},
repeatPassword: {
identifier: 'repeatPassword',
rules: [{
type: 'repeatPasswordMatch',
prompt: 'Password does not match'
}]

然后我定义了这些自定义规则:

  var currentPassElement = $('[name="currentPassword"]');
var newPassElement = $('[name="newPassword"]');

$.fn.form.settings.rules.newPasswordMinLength = function(value) {
var currentPassValue = currentPassElement.length > 0 ? currentPassElement.val() : undefined;
if(currentPassValue === undefined || currentPassValue.length === 0) {
return true;
}
return value.length >= 6;
};

$.fn.form.settings.rules.newPasswordDifferent = function(value) {
var currentPassValue = currentPassElement.length > 0 ? currentPassElement.val() : undefined;
if(currentPassValue === undefined || currentPassValue.length === 0) {
return true;
}
return value.toString() !== currentPassValue.toString();
};

$.fn.form.settings.rules.repeatPasswordMatch = function(value) {
var currentPassValue = currentPassElement.length > 0 ? currentPassElement.val() : undefined,
newPassValue = newPassElement.length > 0 ? newPassElement.val() : undefined;
if(currentPassValue === undefined || currentPassValue.length === 0) {
return true;
}
return value.toString() === newPassValue.toString();
};

Here is the semantic ui source file他们定义默认规则/提示/等。它是一个很好的引用,还展示了如何在提示中显示值等。

关于jquery - 如何动态更改semantic-ui表单验证提示文本(验证后)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35783272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com