mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 15:03:25 +00:00
Fix #1187 Add client side check on field name validity
This commit is contained in:
@@ -133,6 +133,7 @@ class Fields implements ControllerProviderInterface
|
||||
'are_you_sure_delete' => _('Do you really want to delete the field %s ?'),
|
||||
'validation_blank' => _('Field can not be blank.'),
|
||||
'validation_name_exists' => _('Field name already exists.'),
|
||||
'validation_name_invalid' => _('Field name is not valid.'),
|
||||
'validation_tag_invalid' => _('Field source is not valid.'),
|
||||
'field_error' => _('Field %s contains errors.'),
|
||||
'fields_save' => _('Your configuration has been successfuly saved.'),
|
||||
|
@@ -106,10 +106,14 @@ define([
|
||||
var fieldNameId = fieldName.attr("id");
|
||||
var fieldNameValue = fieldName.val();
|
||||
|
||||
// check for empty or duplicate field name
|
||||
var notValid = "" === fieldNameValue || "undefined" !== typeof AdminFieldApp.fieldListView.collection.find(function(model) {
|
||||
var nameExists = ("undefined" !== typeof AdminFieldApp.fieldListView.collection.find(function(model) {
|
||||
return model.get("name").toLowerCase() === fieldNameValue.toLowerCase() && self.model.get("id") !== model.get("id");
|
||||
});
|
||||
}));
|
||||
|
||||
var nameValid = /^[a-zA-Z]([a-zA-Z0-9]+)$/i.test(fieldNameValue);
|
||||
|
||||
// check for empty or duplicate field name
|
||||
var notValid = "" === fieldNameValue || nameExists || !nameValid;
|
||||
|
||||
if (notValid) {
|
||||
fieldName
|
||||
@@ -117,10 +121,10 @@ define([
|
||||
.addClass("error")
|
||||
.find(".help-block")
|
||||
.empty()
|
||||
.append(i18n.t("validation_name_exists"));
|
||||
.append(i18n.t("" === fieldNameValue ? "validation_blank" : (nameExists ? "validation_name_exists" : "validation_name_invalid")));
|
||||
// add error
|
||||
AdminFieldApp.errorManager.addModelFieldError(new Error(
|
||||
self.model, fieldNameId, i18n.t("" === fieldNameValue ? "validation_blank" : "validation_name_exists")
|
||||
self.model, fieldNameId, i18n.t("" === fieldNameValue ? "validation_blank" : (nameExists ? "validation_name_exists" : "validation_name_invalid"))
|
||||
));
|
||||
} else if (fieldName.closest(".control-group").hasClass("error")) {
|
||||
fieldName
|
||||
|
Reference in New Issue
Block a user