简体   繁体   English

React Native:如何在提交时验证用户名和密码

[英]React native: How to validate username and password while submitting

I have validate username and password,if username and password is wrong ,then i want through error like 'Invalid username/password'.if any one know,pls let me know. 我已经验证了用户名和密码,如果用户名和密码错误,那么我想通过“无效的用户名/密码”之类的错误信息。如果有人知道,请告诉我。

 async submit() {        
      //Validating username and password
       const { username, password } = this.state;
       if(username == ''){
          this.setState({error:'Username is required'});
       } else if(password == ''){
          this.setState({error:'Password is required'});
       } else {     
        this.setState({error: null})  
        let collection={};
        collection.username=this.state.username;
        collection.password=this.state.password;
        // console.warn(collection);

        var url = 'my url';
          try {
            let response = await fetch(url, 
            {
              method: 'POST', // or 'PUT'
              body: JSON.stringify(collection), // data can be `string` or {object}!
              headers: new Headers({
                'Content-Type': 'application/json'
              })
            });
            let res = await response.text();
          // console.warn(res);

          if (response.status >= 200 && response.status < 300) { 
            //Handle success
            let accessToken = res;
            console.log(accessToken);
            //On success we will store the access_token in the AsyncStorage
            this.storeToken(accessToken);
            // console.warn(accessToken);
            //After storing value,it will navigate to home 
            this.props.navigation.navigate('Home');

          } else {
            //Handle error
            console.log('Success:',response);
            let error = res;
            throw error;
          }
        } catch(error) { 
            console.log("error " + error);
        } 
      }
    }

response after giving invalid username/password: 输入无效的用户名/密码后的响应:

0   {…}
field   :password
message :Incorrect username or password.

I have written code like this based on status to validated username/password is correct/wrong.so here am posting code if it is useful for anyone in future.below code is, 我已经根据身份验证过的用户名/密码写了这样的代码,正确/错误。因此,这里发布代码是否对将来的任何人有用。下面的代码是,

 if (response.status >= 200 && response.status < 300) { 
       //Handle success

       let accessToken = res;
       //On success we will store the access_token in the AsyncStorage
       this.storeToken(accessToken);
       console.warn(accessToken);
       //After storing value,it will navigate to home 
       this.props.navigation.navigate('Home'); 

    } else {
       console.log('Success:',response);
       this.setState({error:'Invalid username/password'});
       let error = res;
       throw error;
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM