Postcode validation.
[readifood.git] / lib / hub.php
index 12f27cf..3d8e8d5 100644 (file)
     /* Postcode. */
     echo "<tr>\n";
     echo "  <td>Postcode</td>\n";
-    echo "  <td>"; input("postcode", $address->getPostcode()); echo get_address_map_link($address); echo "</td>\n";
+    $postcode = $address->getPostcode();
+    if (validate_postcode($postcode)) {
+      echo "  <td>"; input("postcode", $postcode); echo get_address_map_link($address); echo "</td>\n";
+    }
+    else {
+      echo "  <td>"; input("postcode", $address->getPostcode()); echo " (invalid)</td>\n";
+    }
     echo "</tr>\n";
 
     /* Telephone. */
 
     /* Get address. */
     $line = $_POST['address'];
-    $postcode = $_POST['postcode'];
+    $postcode = trim($_POST['postcode']);
+    if ($postcode) {
+      $postcode = format_postcode($_POST['postcode'], true);
+      if (! $postcode) return false;
+    }
     $q = new AddressQuery;
     /* XXX: Finding by area properly? */
     $address = $q->filterByAreaId($area_id)->filterByLine($line)->filterByPostcode($postcode)->findOneOrCreate();