I have a touch ui dialog for my AEM component .In this dialog there is a special field (textfield) and I want to validate the value entered by calling a web service.
I use the below JavaScript to register a validator
(function($, window, document) {
var registry = $(window).adaptTo("foundation-registry");
registry.register("foundation.validation.validator", {
selector : "[data-validation=name-validate]",
validate : function(el) {
var element = $(el);
var elementVal = element.val();
$.get("webserviceURL", function(data) {
if (data.error) {
return "Invalid name";
} else {
return;
}
});
}
});
})($, window, document);
I can see that the server side call is happening but the validation is not happening in the dialog.
This is because the service call is asynchronous and the validate function get an empty return immediately.
So my question is how to do such server side validations?
Solved! Go to Solution.
Views
Replies
Total Likes
try validation with jquery like below thread and make sync call
Adding multifields based on numberfield in AEM 6.4
e.g.
jQuery.ajax({
url: 'http://example.com/catalog/create/' + targetNode.id + '?name=' + encode(to.inp[0].value),
success: function (result) {
if (result.isOk == false) alert(result.message);
},
async: false
});
Views
Replies
Total Likes
Hi,
When are you calling web service? On load? on dialog submit or on input field blur event.
Views
Replies
Total Likes
On dialog submit
Views
Replies
Total Likes
try validation with jquery like below thread and make sync call
Adding multifields based on numberfield in AEM 6.4
e.g.
jQuery.ajax({
url: 'http://example.com/catalog/create/' + targetNode.id + '?name=' + encode(to.inp[0].value),
success: function (result) {
if (result.isOk == false) alert(result.message);
},
async: false
});
Views
Replies
Total Likes
Thank you very much.
Views
Replies
Total Likes
Hi @dennyj13354090, How do you fixed the issue ?
Views
Replies
Total Likes
Views
Likes
Replies