程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了检查 Html 输入文本字段是否具有值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决检查 Html 输入文本字段是否具有值?

开发过程中遇到检查 Html 输入文本字段是否具有值的问题如何解决?下面主要结合日常开发的经验,给出你关于检查 Html 输入文本字段是否具有值的解决方法建议,希望对你解决检查 Html 输入文本字段是否具有值有所启发或帮助;

在我的 asp.net web 应用程序 (mvC) 上,我想检查用户在单击按钮时是否在文本字段中输入了一个值,以及是否要重定向到下一页。如果没有,则抛出异常。我查看了如何执行此操作,并尝试将其与 HTML.beginForm() 一起使用,但由于某种原因,当我将文本框留空时,它仍然会进入我的条件语句,并且点击提交按钮。

原始代码:

第二控制器:

        [httpPost]
        public IActionResult Insert(String inputF)
        {
          
            if (inputF == null)
            {
                throw new Exception("You dID not type anything in the textfIEld!!!!");
            }
            else
            {
                return RedirectToAction("Finalindex","Final");
            }
        }

我希望它抛出异常但不停止程序继续进行,就像它在 UI 中向用户返回一条消息但仍记录发生的异常。

更新代码:

我的第二个控制器:

    [httpPost]
    public IActionResult Insert(String inputF)
    {
      
        if (!ModelState.IsValID || String.IsNullOrWhiteSpace(inputF.input))
        {
            return VIEw(inputF);
        }
        else
        {
            return RedirectToAction("Finalindex","Final");
        }
    }

它不允许我做 String.IsNullOrWhiteSpace(inputF.input),因为它显示了以下内容:

检查 Html 输入文本字段是否具有值

然后我从 .input 中删除了 inputF.input,它仍然给了我下图中未处理的消息

我的观点:

@using CustomerSimulatorApp.Models
@model TexTinput 

<h2>Second page</h2>



@using (HTML.beginForm("Insert","Second",FormMethod.Post))
{
    @HTMl.TextBoxFor(r => r.input);

    <input ID="button" type="submit" value="button" />

} 

我的模型:

namespace CustomerSimulatorApp.Models
{
    public class TexTinput
    {
        [required,MinLength(1)] 
        public String input { get; set; }
    }
}

当我将文本框留空并点击按钮时,它返回如下所示:

检查 Html 输入文本字段是否具有值

不确定,这是否确实应该发生,或者是否应该抛出实际异常。此外,当我只在框中输入一个字符并点击按钮时,它仍然允许我继续重定向并且不会抛出异常,无论我的 [required MinLength(2)] 在我的属性上如何。

所以我的目标是在用户在文本框中输入内容并点击按钮时将用户重定向到另一个页面 (Finalindex)。如果用户没有在文本框中输入任何内容,仍然点击按钮进入下一页,则需要抛出异常。

我做错了吗?任何建议将不胜感激!

解决方法

大功告成,但需要在视图和控制器方面进行少量更改才能使其正常工作。

  • 你需要有类型为 submit 的输入按钮

    @using (Html.beginForm("Insert","Second",FormMethod.Post))
    {
        @Html.TextBoxFor(r => r.Input);
    
        <input id="Button" type="submit" value="button" />
    }
    

在控制器中的动作代码应该是这样的

// this if checks if input textbox value is not present load BACk page with error
if (!ModelState.IsValid || String.IsNullOrWhiteSpace(inputF.Input))
{
    return View(inputF);
}
else
{
     // there was value in input redirect to Final controller action
     return RedirectToAction("FinalIndex","Final");
}
,

我们通过聊天解决了这个问题,只是我们改变了一些命名约定:

  public IActionResult SecIndex(TexTinput form)

是最终修复,而不是返回一个不存在的视图。

大佬总结

以上是大佬教程为你收集整理的检查 Html 输入文本字段是否具有值全部内容,希望文章能够帮你解决检查 Html 输入文本字段是否具有值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。