[Angularjs]表单验证

写在前面

在开发中提交表单,并对表单的值进行验证是非常常见的操作,angularjs对表单验证提供了非常好的支持。

demo

表单

复制代码
<form name="myform" novalidate action="../api/order/lists/add" method="post">
    <p>
        <input type="text" name="name" ng-model="order.name" value="" required />
        <span style="color:red" ng-show="myform.name.$dirty && myform.name.$invalid">
            <span ng-show="myform.name.$error.required">订单名称是必须的。</span>
        </span>
    </p>
    <p>
        <input type="text" name="price" ng-model="order.price" value="" required />
        <span style="color:red" ng-show="myform.price.$dirty && myform.price.$invalid">
            <span ng-show="myform.price.$error.required">单价是必须的。</span>
        </span>
    </p>

    <input type="submit" name="name" ng-disabled="myform.name.$dirty && myform.name.$invalid ||
  myform.price.$dirty && myform.price.$invalid" />
</form>
复制代码

服务端

复制代码
        [HttpPost]
        [Route("api/order/lists/add")]
        public async Task<HttpResponseMessage> Post([FromBody] Order order)
        {
            return await Task.Factory.StartNew(() =>
            {
                HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.Accepted);
                order.Id = Guid.NewGuid();
                lstOrders.Add(order);
                response = new HttpResponseMessage(HttpStatusCode.Accepted)
                {
                    Content = new StringContent(JsonConvert.SerializeObject(new { _code = 200, _data = lstOrders }))
                };
                return response;
            });
        }
复制代码

测试

提交后数据

总结

$dirty:表单有填写记录

$valid:字段内容合法的

$invalid:字段内容是非法的

$pristine:表单没有填写记录

posted @   wolfy  阅读(491)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示