0

我使用firebase電子郵件和密碼驗證創建了一個註冊頁面。目前用戶不必輸入用戶名來創建帳戶。我如何強制他們輸入用戶名?如何在swift的註冊頁面中強制使用用戶名

 @IBOutlet weak var nameTextField: UITextField! 
    @IBOutlet weak var emailTextField: UITextField! 
    @IBOutlet weak var passwordTextField: UITextField! 
    @IBOutlet weak var profileUploader: UIImageView! 

    var refD:FIRDatabaseReference? 
    var refS: FIRStorageReference? 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     refD = FIRDatabase.database().reference() 
     refS = FIRStorage.storage().reference() 
     profileUploader.layer.cornerRadius = 2 
     profileUploader.clipsToBounds = true 
    } 

    @IBAction func registerTapped(_ sender: Any) { 
     let namec = nameTextField.text 
     if let email = emailTextField.text, let pass = passwordTextField.text, let name = namec?.capitalized { 
      FIRAuth.auth()?.createUser(withEmail: email, password: pass, completion: { (user, error) in 
       if user != nil { 
        //user found 

        let interval = NSDate().timeIntervalSince1970 
        let date = Date(timeIntervalSince1970: interval) 
        let dateFormatter = DateFormatter() 
        dateFormatter.dateFormat = "dd/MM/yyyy/HH/mm/SS" 
        // you can change the date format to whatever you wants 
        let dateString = dateFormatter.string(from: date) 
        print(dateString) 




        self.refD?.child("Users").child((user?.uid)!).setValue(["Email": email, "Name": name, "User Created": dateString]) 
        print("User Created And Added To Database", email, name, dateString) 
        self.performSegue(withIdentifier: "registertologin", sender: self) 
       } 
+0

那麼,您是要對用戶名textfield進行驗證還是設置了一些Firebase規則? – Jaydeep

+0

@jaydeep我不明白你的意思。我解決了這個問題。感謝無論如何幫助:D –

+0

如果讓name =(namec?.capitalized.isEmpty),則添加此行! ? nil:namec {// code} else {var alert = UIAlertController(title:「Title」,message:「Message」,preferredStyle:UIAlertControllerStyle.Alert) alert.addAction(UIAlertAction(title:「Ok」,style:UIAlertActionStyle。默認情況下,處理程序:無)) self.presentViewController(警報,動畫:真,完成:無)} – Rex

回答

0

斯威夫特3X ...

請改變這一行

if let email = emailTextField.text, let pass = passwordTextField.text, let name = namec?.capitalized{ 
//code 
    } 
在這一行

...

if let email = emailTextField.text, let pass = passwordTextField.text, let name = (namec?.capitalized.isEmpty)! ? nil:namec{{ 
//code 
    } 
相關問題