|
|
@@ -0,0 +1,24 @@
|
|
|
+import {HttpError} from "../HttpError.js";
|
|
|
+
|
|
|
+export default (data)=>{
|
|
|
+ if(data.name) validateName(data.name);
|
|
|
+ if(data.emai) validateEmail(data.email);
|
|
|
+ if(data.pass) validatePass(data.pass, data.confirmPass);
|
|
|
+}
|
|
|
+
|
|
|
+const validateName = (name)=>{
|
|
|
+ if(typeof(name) !== "string") throw new HttpError(400, "Invalid name");
|
|
|
+ if(name.length < 3) throw new HttpError(400, "Name must contain at least 3 characters");
|
|
|
+}
|
|
|
+
|
|
|
+const validateEmail = (email)=>{
|
|
|
+ email = email.toLowerCase();
|
|
|
+ if(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(data.email) !== true){
|
|
|
+ throw new HttpError(400, "Invalid email");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const validatePass = (pass, confirmPass)=>{
|
|
|
+ if(pass.length < 10) throw new HttpError(400, "Password must contain at least 10 characters");
|
|
|
+ if(pass !== confirmPass) throw new HttpError(400, "Passwords do not match");
|
|
|
+}
|