package Ġcom . we gd ut . we gd ut . ui . student _ register Ċ Ċ import Ġcom . we gd ut . we gd ut . My Exception Ċ import Ġcom . we gd ut . we gd ut . My Log Ċ import Ġcom . we gd ut . we gd ut . api . Register Api Ċ import Ġcom . we gd ut . we gd ut . data . user . Student Register Dto Ċ import Ġcom . we gd ut . we gd ut . utils . Api Utils . extract Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠStudent Register Presenter Ġ@ Inject Ġconstructor () Ġ: ĠStudent Register Contract . Presenter () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġapi : ĠRegister Api ĊĊĠĠĠ Ġoverride Ġfun Ġregister ( ĊĠĠĠĠĠĠĠ Ġusername : ĠString , ĊĠĠĠĠĠĠĠ Ġnickname : ĠString , ĊĠĠĠĠĠĠĠ Ġpassword : ĠString , ĊĠĠĠĠĠĠĠ Ġpassword 2 : ĠString , ĊĠĠĠĠĠĠĠ Ġstudent Number : ĠString , ĊĠĠĠĠĠĠĠ Ġstudent Password : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalid Ġ= Ġverify Nick name ( username ) Ġ&& Ġverify Nick name ( nickname ) Ġ&& Ġverify Password ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! valid ) Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġdto Ġ= ĠStudent Register Dto ( username , Ġpassword , Ġnickname , Ġstudent Number , Ġstudent Password ) ĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. set Submit Enabled ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry It ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġio Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi . register Student ( dto ). extract () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. on Success () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMy Log . error ( this , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerr Ġ= ĠMy Exception . handle ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. setError ( err ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. set Submit Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġverify Username ( text : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( text . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. set Username Error (" çĶ¨æĪ·åĲį ä¸įèĥ½ä¸ºç©º ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġok Ġ= ĠRegex ("\\ w { 3 , 2 0 } "). match Ent ire ( text ) Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ(! ok ) Ġview ?. set Username Error (" çĶ¨æĪ·åĲį éķ¿åº¦ åºĶ åľ¨ 3 åĪ° 2 0 ä½į ") ĊĠĠĠĠĠĠĠ Ġreturn Ġok ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġverify Nick name ( text : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( text . isBlank () Ġ|| ĠRegex ("[ \\ s ãĢĢ ]+ "). match Ent ire ( text ) Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. set Nick name Error (" æĺ µ ç§° ä¸įèĥ½ä¸ºç©º ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġverify Password ( password : ĠString , Ġpassword 2 : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( password . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. set Password Error (" å¯Ĩçłģ ä¸įèĥ½ä¸ºç©º ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġok Ġ= ĠRegex (". { 6 , } "). match Ent ire ( password ) Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ(! ok ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. set Password Error (" å¯Ĩçłģ éķ¿åº¦ ä¸į åºĶ å°ı äºİ 6 ä½į ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( password 2 Ġ!= Ġpassword ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. set Password 2 Error (" ä¸¤ æ¬¡ å¯Ĩçłģ è¾ĵåħ¥ ä¸į ä¸Ģèĩ´ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ }