Javascript 是否可以将jquery验证消息更改为集合的每个元素字段?
其思想是向每个字段返回一条错误消息,更改jquery最初需要的消息。按照我的方式,返回:“true字段是必需的。”Javascript 是否可以将jquery验证消息更改为集合的每个元素字段?,javascript,jquery,Javascript,Jquery,其思想是向每个字段返回一条错误消息,更改jquery最初需要的消息。按照我的方式,返回:“true字段是必需的。” 函数addRequired(){ var容器,输入,索引,输入; //获取容器元素 容器=$(“#entityFields”); //查找其子“input”元素 输入=container.find('input')。而不是('EntityWebsite,'EntitySocialMoney'); 用于(索引=0;索引
函数addRequired(){
var容器,输入,索引,输入;
//获取容器元素
容器=$(“#entityFields”);
//查找其子“input”元素
输入=container.find('input')。而不是('EntityWebsite,'EntitySocialMoney');
用于(索引=0;索引
我的html是这样的:
<div class="modal-body">
<div id="seriesTab" class="tab-pane">
<div id="entityFields" class="form-row">
<label>Entity</label>
<input type="text" columnDivClass="col-md-6 form-group">
<label>Address:</label>
<input type="text" columnDivClass="col-md-6 form-group">
<label>Email:</label>
<input type="text" columnDivClass="col-md-6 form-group">
<label>Phone:</label>
<input type="text" columnDivClass="col-md-6 form-group">
<label>Website:</label>
<input type="text" columnDivClass="col-md-6 form-group">
<label>SocialMoney:</label>
<input type="text" columnDivClass="col-md-6 form-group">
</div>
</div>
</div>
实体
地址:
电邮:
电话:
网站:
社会资金:
输入
没有标签
属性。要获取input
之前的label
,可以使用input.previouselement同级.innerText
。因此,您的更新代码如下所示
$.validator.messages.required(input.previousElementSibling.innerText);
或者,如果您希望使用jquery
,则可以使用$(input).prev('label').text()从前面的label
中查找text
没有html,很难帮助您。因为你的代码应该work@CarstenLøvboAndersen我刚刚添加了html…@FlávioJardim您能否尝试将$.validator.messages.required(input.labels[0].innerText)更改为$.validator.messages.required(input.previousSibling.textContent)?@BerkÖztürk仍然返回“true字段是必需的。”对于所有输入,$.validator.messages.required(input.labels[0].innerText)或$.validator.messages.required(input.previousElementSibling.innerText)返回的正是我想要的,但问题在于尝试更改jquery required消息。据我所知,使用$.validator.messages.required会批量更改通用消息,而不是逐个更改。对于generic,它可以正常工作,但是我想为每个输入自定义它,比如“Entity字段是必需的”。您可以在问题中创建可运行的代码,可以添加必要的脚本吗。
$.validator.messages.required(input.previousElementSibling.innerText);
$.validator.messages.required($(input).prev('label').text());