当前位置: 首页 > 知识库问答 >
问题:

用React js和Firebase进行表单验证

郭鸿信
2023-03-14

从“React”导入React,{useState,useEffect};从“./Firebase”导入{db}

//我想添加一些执行任务的验证,如下所示

//1。检查用户输入少于40个单词的用户名

const [senderName,setSenderName] = useState("");
const [senderEmail,setSenderEmail] = useState("");
const [senderMessage,setSenderMessage] = useState("");



const handleSubmitForm = (e) => {
    e.preventDefault();


db.collection('Contact_Form').add({
      User_name:senderName,
      User_email:senderEmail,
      User_message:senderMessage  
    })


 .then(()=>{
        alert("Message submitted")
    })


 .catch((error) => {
        alert(error.message);
    });



    setSenderName("");
    setSenderEmail("");
    setSenderMessage("");
return(


<>
    <div className="contact_us_body">
    <div className="contact_us_container">
    <div className="contact_us_content">
       
    <div className="contact_us_right_side">
    <div className="text_heading">Send us a message</div>
    
    <form className="form" onSubmit={handleSubmitForm}  >
    

        <div className="contact_us_input_box">
            <input type="text" placeholder="Enter your name" value={senderName}
            onChange = {(e) => setSenderName(e.target.value)} />
        </div>

        <div className="contact_us_input_box">
            <input type="text" placeholder="Enter your email"value={senderEmail}
             onChange={(e) => setSenderEmail(e.target.value)} />
        </div>

        <div className="contact_us_input_box message-box">
             <textarea name="messageText" id="" cols="30" rows="10"
             placeholder="Type your Message"value={senderMessage}
             onChange={(e) => setSenderMessage(e.target.value)} >
             </textarea>
        </div>

        <div className="contact_us_button">
            <input type="submit" value="Send Now" />
        </div>

    </form>
            </div>
        </div>
    </div>
</div>

 </>
)

}

导出默认联系人;

共有1个答案

厍彭薄
2023-03-14

用于验证用户名中的字符范围

    function stringlength(inputtxt, maxlength)
{ 
var field = inputtxt.value; 
var mxlen = maxlength;

if(field.length> mxlen)
{ 
alert("Please input the userid between " +mnlen+ " and " +mxlen+ " characters");
return false;
}
}

如果您使用的是Firebase,那么您可以使用Firebase身份验证进行登录,它将处理电子邮件格式-首先,定义2个额外的useState来显示错误,const[emailError,setEmailError]=useState('');

  const handleLogin = () => {

db
.auth()
.signInWithEmail(email)
.catch((err) =>{
  switch (err.code){
    case "auth/invalid-email":

      // console.log(err)
      setEmailError(err.message);
      break;
        
  }

  
})

}

 类似资料:
  • 如果您不得不跟浏览器提交的表单数据打交道,视图函数里的代码将会很快变得 难以阅读。有不少的代码库被开发用来简化这个过程的操作。其中一个就是 WTForms , 这也是我们今天主要讨论的。如果您发现您自己陷入处理很多表单的境地,那您也许 应该尝试一下他。 要使用 WTForms ,您需要先将您的表单定义为类。我建议您将应用分割为多个模块 (大型应用) ,这样的话您仅需为表单添加一个独立的模块。 挖掘

  • 问题内容: 到目前为止,我已经使用纯JavaScript来验证表单,但是我需要在组合中添加mysqli查询。只有我对jquery和ajax不太了解。我可以做一个简单的登录表格,但这有点复杂。谁能给我有关如何添加jquery / ajax组件来验证这一点的任何指示: 问题答案: 您可以做的是发送$ .post像这样: 在你的 记得: 如果您要发布表单,请提交以添加到您的javascript函数中以手

  • 本文向大家介绍AngularJS使用angular-formly进行表单验证,包括了AngularJS使用angular-formly进行表单验证的使用技巧和注意事项,需要的朋友参考一下 当验证表单中有很多字段时,这时候可能希望把html的生成以及验证逻辑放到controller中,在页面,也许是这样的: 然后,在controller中定义各个字段以及验证。angular-formly就是为这个需

  • 我使用包括Spring Security和Vaadin在内的https://start.spring.io设置了一个Spring Boot项目。然后我将Vaadin版本设置为22.0.4,并按照本教程使用Vaadin Flow和Spring Security设置登录页面:https://vaadin.com/docs/v22/flow/tutorial/login-and-authenticati

  • 问题内容: 我有这种形式:http : //jsfiddle.net/dfJeN/ 如您所见,输入的名称值是静态设置的: ,则表单验证可以正常工作(添加一些内容并从输入中删除所有文本,必须显示一个文本)。 然后,我尝试动态设置名称值:http : //jsfiddle.net/jNWB8/ 然后我将其应用于我的验证 (此模式将在ng-repeat中使用),但我的表单验证已损坏。它在浏览器中已正确解

  • 本文向大家介绍使用JavaScript进行表单校验功能,包括了使用JavaScript进行表单校验功能的使用技巧和注意事项,需要的朋友参考一下 文本框校验 以下是文本框的校验步骤。 1.获取待校验的文本框value值, 2.对value值设置判定条件,使用if语句或switch语句实现。 3. 若满足条件,则校验通过,返回值为true。 4. 若不满足条件则返回值为false,替换文本输出校验的提