JQuery 验证 - trim 空格
JQuery Validation - trim whitespaces
我在 rails 应用程序中使用 jquery validation with the jquery-validation-bootstrap-tooltip plugin。我想要 trim 空格,以便删除开头和结尾的空格并且不计入验证,并且如果前面有空格,则删除字符串中间的任何空格。我想确保像 " funny cat"
或 "funny cat"
这样的东西只会被验证并保存为 "funny cat".
这是我的代码:
$('#custom-tag').validate({
onkeyup: function (element, event) {
if (event.which === 9 && this.elementValue(element) === "") {
return;
} else if (this.elementValue(element).length < 3 ) {
return;
} else {
this.element(element);
}
},
rules: {
tag: {
maxlength: 25,
minlength: 2
}
},
tooltip_options: {
tag: { placement: 'right', animation: false }
}
});
我发现这个 post 是相关的,但不知道如何将它应用到我的案例中。
我想我可能必须制作自己的方法来在评估输入时忽略额外的空格,并使用 before save
来确保在保存之前删除这些空格。我可以使用一些帮助代码。
答案:
我使用下面的答案创建了一个新方法:
$.validator.addMethod(
"maxLen",
function (value, element, param) {
var value = this.elementValue(element).replace(/\s+/g, ' ').trim();
if (value.length > param) {
return false;
} else {
return true;
}
}, "error message");
将 g 添加到正则表达式使其按我想要的方式工作。现在我只需要在保存到数据库之前使用 rails 压缩。
首先用一个空格替换多个空格,然后 trim 字符串。
function (element, event) {
var value = this.elementValue(element).replace(/\s+/g, ' ').trim();
if (event.which === 9 && value === "") {
return;
} else if (value.length < 3 ) {
return;
} else {
this.element(element);
}
}
我在 rails 应用程序中使用 jquery validation with the jquery-validation-bootstrap-tooltip plugin。我想要 trim 空格,以便删除开头和结尾的空格并且不计入验证,并且如果前面有空格,则删除字符串中间的任何空格。我想确保像 " funny cat"
或 "funny cat"
这样的东西只会被验证并保存为 "funny cat".
这是我的代码:
$('#custom-tag').validate({
onkeyup: function (element, event) {
if (event.which === 9 && this.elementValue(element) === "") {
return;
} else if (this.elementValue(element).length < 3 ) {
return;
} else {
this.element(element);
}
},
rules: {
tag: {
maxlength: 25,
minlength: 2
}
},
tooltip_options: {
tag: { placement: 'right', animation: false }
}
});
我发现这个 post 是相关的,但不知道如何将它应用到我的案例中。
我想我可能必须制作自己的方法来在评估输入时忽略额外的空格,并使用 before save
来确保在保存之前删除这些空格。我可以使用一些帮助代码。
答案:
我使用下面的答案创建了一个新方法:
$.validator.addMethod(
"maxLen",
function (value, element, param) {
var value = this.elementValue(element).replace(/\s+/g, ' ').trim();
if (value.length > param) {
return false;
} else {
return true;
}
}, "error message");
将 g 添加到正则表达式使其按我想要的方式工作。现在我只需要在保存到数据库之前使用 rails 压缩。
首先用一个空格替换多个空格,然后 trim 字符串。
function (element, event) {
var value = this.elementValue(element).replace(/\s+/g, ' ').trim();
if (event.which === 9 && value === "") {
return;
} else if (value.length < 3 ) {
return;
} else {
this.element(element);
}
}