laravel-jstools
Version:
JS tools for building front-side of Laravel applications
35 lines (34 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.JQueryFormValidateService = void 0;
const $ = require("jquery");
const ValidateService_1 = require("../ValidateService/ValidateService");
const helpers_1 = require("../../scripts/helpers");
class JQueryFormValidateService extends ValidateService_1.ValidateService {
validateForm(form) {
const $form = $(`#${form.getId()}`);
const data = {};
const ruleList = form.getRuleList();
const ruleListForm = {};
$form
.find('input[data-jst-field],textarea[data-jst-field],select[data-jst-field],div[data-jst-field][data-jst-component]')
.each((index, element) => {
const $element = $(element);
const field = $element.data('jstField');
if ($element.data('jstComponent')) {
data[field] = form.getComponent($element.attr('id')).getValue();
}
else {
data[field] = $element.val();
}
if ($element.data('jstComponent') === 'flatpickr') {
ruleListForm[field] = $form.find(`#${$element.attr('id')}Input`).data('jstValidate');
}
else if ($element.data('jstValidate')) {
ruleListForm[field] = $element.data('jstValidate');
}
});
return this.validate(data, (0, helpers_1.isEmpty)(ruleList) ? ruleListForm : ruleList);
}
}
exports.JQueryFormValidateService = JQueryFormValidateService;