0

firebaseの電子メールとパスワード認証を使用して登録ページを作成しました。現時点では、ユーザーはアカウントを作成するためにユーザー名を入力する必要はありません。ユーザー名を入力する必要がありますか?すぐにサインアップページでユーザー名を必須にする方法

 @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

let name =(namec?.capitalized.isEmpty)ならばこの行を追加してください! ? UIAlertAction(タイトル: "OK"、スタイル:UIAlertActionStyle。)。 – 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 
    } 
関連する問題