@wallfar/ocd-studio-core-sdk
Version:
Helper SDK for our OneClick Studio modules
34 lines (32 loc) • 1.08 kB
JavaScript
function validateAddress(addr) {
const errors = [];
if (!addr.firstName?.trim() || !/^[A-Za-zÀ-ÖØ-öø-ÿ '-]+$/.test(addr.firstName)) {
errors.push("Invalid first name");
}
if (!addr.lastName?.trim() || !/^[A-Za-zÀ-ÖØ-öø-ÿ '-]+$/.test(addr.lastName)) {
errors.push("Invalid last name");
}
if (!addr.streetLine1?.trim()) errors.push("Street address is required");
if (!addr.city?.trim() || !/^[A-Za-z '-]+$/.test(addr.city)) {
errors.push("Invalid city");
}
if (!addr.country) {
errors.push("Invalid country");
}
if (!addr.stateOrProvince.trim()) {
errors.push("State/Province is required for this country");
}
if (!addr.postalCode) {
errors.push("Invalid postal code");
}
if (!addr.phoneNumber) {
errors.push("Phone number is required");
}
if (addr.latitude != null && addr.longitude != null) {
if (addr.latitude < -90 || addr.latitude > 90 || addr.longitude < -180 || addr.longitude > 180) {
errors.push("Coordinates out of range");
}
}
return errors;
}
export { validateAddress as v };