* @param PageData $page
* @return array
*/
- protected function _validate_form(Request $request, $page, $form = null)
+ protected function _validate_form(Request $request, $page, $alreadyValidate = null, $form = null)
{
$validation = [];
$messages = [];
$fields = $request->all();
}
- foreach ($fields as $field) {
- $v = [];
- if ($field['mandatory']) {
- $v[] = 'required';
- $messages[$field['type'] . '.required'] = sprintf(__('Champ obligatoire'), self::$_labels[$field['type']]);
- } else {
- $v[] = 'nullable';
- }
- if ($field['type'] === 'email') {
- $v[] = 'email';
- $messages[$field['type'] . '.email'] = __('Adresse e-mail invalide');
- } else if ($field['type'] === 'phone') {
- $v[] = 'regex:/^[0-9 \+\.\-\(\)\/]{10,}$/';
- $messages[$field['type'] . '.regex'] = __('Numéro de téléphone invalide');
- }
- if (count($v)) {
- $validation[$field['type']] = implode('|', $v);
+ if(!$alreadyValidate) {
+
+ foreach ($fields as $field) {
+ $v = [];
+ if ($field['mandatory']) {
+ $v[] = 'required';
+ $messages[$field['type'] . '.required'] = sprintf(__('Champ obligatoire'), self::$_labels[$field['type']]);
+ } else {
+ $v[] = 'nullable';
+ }
+ if ($field['type'] === 'email') {
+ $v[] = 'email';
+ $messages[$field['type'] . '.email'] = __('Adresse e-mail invalide');
+ } else if ($field['type'] === 'phone') {
+ $v[] = 'regex:/^[0-9 \+\.\-\(\)\/]{10,}$/';
+ $messages[$field['type'] . '.regex'] = __('Numéro de téléphone invalide');
+ }
+ if (count($v)) {
+ $validation[$field['type']] = implode('|', $v);
+ }
}
- }
- $validator = Validator::make($request->all(), $validation, $messages);
- $validator->validate();
+ $validator = Validator::make($request->all(), $validation, $messages);
+ $validator->validate();
- $validatedData = $validator->validated();
+ $validatedData = $validator->validated();
+
+ return $validatedData;
+ } else {
+ return $request->all();
+ }
- return $validatedData;
}
/**
$cartData = json_decode($request->input('cart_data'), true);
// Validated form fields
- $validatedData = $this->_validate_form($request, $page);
+ $validatedData = $action === "order" ? $this->_validate_form($request, $page, true) : $this->_validate_form($request, $page);
$products = PageData::fromEntities(Product::whereIn('id', array_keys($cartData) )->get());
$cartData_ = Product::getCartData();
$productsArray = Product::getProductsByIds(array_keys($cartData));