Skip to content

Commit a7eb705

Browse files
committed
Fix validation when manual field is disabled
1 parent c5b63fd commit a7eb705

File tree

1 file changed

+39
-35
lines changed

1 file changed

+39
-35
lines changed

src/AddressFinderField.php

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -467,43 +467,51 @@ public function validate($validator)
467467
$validator->removeRequiredField($name);
468468

469469
$fields = $this->getManualFields();
470-
$postal = $fields->dataFieldByName("{$name}[PostalLine1]");
471470

472-
if (!$postal->Value()) {
473-
$validator->validationError(
474-
$name,
475-
_t("AddressFinderField.ENTERAVALIDADDRESS", "Please enter a valid address."),
476-
'PostalLine1',
477-
false
478-
);
471+
if ($this->getShowManualFields()) {
472+
$postal = $fields->dataFieldByName("{$name}[PostalLine1]");
479473

480-
return false;
481-
}
474+
if (!$postal->Value()) {
475+
$validator->validationError(
476+
$name,
477+
_t("AddressFinderField.ENTERAVALIDADDRESS", "Please enter a valid address."),
478+
'PostalLine1',
479+
false
480+
);
481+
482+
return false;
483+
}
482484

483-
$city = $fields->dataFieldByName("{$name}[City]");
485+
$city = $fields->dataFieldByName("{$name}[City]");
484486

485-
if (!$city->Value()) {
486-
$validator->validationError(
487-
$name,
488-
_t("AddressFinderField.ENTERAVALIDCITY", "Please enter a valid city."),
489-
"City",
490-
false
491-
);
487+
if (!$city->Value()) {
488+
$validator->validationError(
489+
$name,
490+
_t("AddressFinderField.ENTERAVALIDCITY", "Please enter a valid city.")
491+
);
492492

493-
return false;
494-
}
493+
return false;
494+
}
495+
496+
$postcode = $fields->dataFieldByName("{$name}[Postcode]");
495497

496-
$postcode = $fields->dataFieldByName("{$name}[Postcode]");
498+
if (!$postcode->Value()) {
499+
$validator->validationError(
500+
$name,
501+
_t("AddressFinderField.ENTERAVALIDPOSTCODE", "Please enter a valid postcode.")
502+
);
497503

498-
if (!$postcode->Value()) {
499-
$validator->validationError(
500-
$name,
501-
_t("AddressFinderField.ENTERAVALIDPOSTCODE", "Please enter a valid postcode."),
502-
"Postcode",
503-
false
504-
);
504+
return false;
505+
}
506+
} else {
507+
if (!$this->addressField->Value()) {
508+
$validator->validationError(
509+
$name,
510+
_t("AddressFinderField.ENTERAVALIDADDRESS", "Please enter a valid address.")
511+
);
505512

506-
return false;
513+
return false;
514+
}
507515
}
508516

509517
if ($this->requireLatLngManual) {
@@ -512,9 +520,7 @@ public function validate($validator)
512520
if (!$lat->Value()) {
513521
$lat->validationError(
514522
$name,
515-
_t("AddressFinderField.LATITUDEMISSING", "Please enter a valid Latitude."),
516-
"Latitude",
517-
false
523+
_t("AddressFinderField.LATITUDEMISSING", "Please enter a valid Latitude.")
518524
);
519525

520526
return false;
@@ -525,9 +531,7 @@ public function validate($validator)
525531
if (!$lng->Value()) {
526532
$lng->validationError(
527533
$name,
528-
_t("AddressFinderField.LONGTITUDEMISSING", "Please enter a valid Longitude."),
529-
"Longitude",
530-
false
534+
_t("AddressFinderField.LONGTITUDEMISSING", "Please enter a valid Longitude.")
531535
);
532536

533537
return false;

0 commit comments

Comments
 (0)