2016-04-25 38 views
1

一个非常简单的例子,有一些奇怪的事情发生。从来没有注意到它,但这是我第一次看。MVC和jQuery验证,本地主机上的不同HTML输出与生活

给自己用类似领域的典范:

[Display(Name = "Full Name")] 
[Required(ErrorMessage = "Please enter your Full name")] 
[RegularExpression(@"^((\b[a-zA-Z]{2,40}\b)\s*){2,}$", ErrorMessage = "Please enter your first and last name.")] 
public string FullName { get; set; } 

Razor视图:

<div class="form-group"> 
@Html.TextBoxFor(m => m.FullName, new { placeholder = "Full Name", @Class = "form-control input-sm" }) 
@Html.ValidationMessageFor(m => m.FullName) 
</div> 

当我提交的表单无效,我得到一个错误信息,我应该......但本地主机上的HTML与服务器上的HTML不同。

Localhost给我一个跨度id =“FullName-错误”与一些咏叹调标签。 Live服务器为我提供了=“FullName”的范围,没有aria标签。制作中的文件不过是发布和上传。

我的本地生成以下(这是检查它在Chrome调试窗口):

<div class="form-group"> 
<input class="form-control input-sm input-validation-error" data-val="true" data-val-regex="Please enter your first and last name." data-val-regex-pattern="^((\b[a-zA-Z]{2,40}\b)\s*){2,}$" data-val-required="Please enter your Full name" id="FullName" name="FullName" placeholder="Full Name" type="text" value="" aria-required="true" aria-invalid="true" aria-describedby="FullName-error"> 
<span class="field-validation-error" data-valmsg-for="FullName" data-valmsg-replace="true"> 
<span id="FullName-error" class="">Please enter your Full name</span> 
</span> 
</div> 

直播服务器生成以下内容:

<div class="form-group"> 
<input class="form-control input-sm input-validation-error" data-val="true" data-val-regex="Please enter your first and last name." data-val-regex-pattern="^((\b[a-zA-Z]{2,40}\b)\s*){2,}$" data-val-required="Please enter your Full name" id="FullName" name="FullName" placeholder="Full Name" type="text" value=""> 
<span class="field-validation-error" data-valmsg-for="FullName" data-valmsg-replace="true"> 
<span for="FullName" generated="true" class="">Please enter your Full name</span> 
</span> 
</div> 

任何人有任何的想法,也可以在提示这是怎么回事?

+0

似乎还有一些更新安装在本地,是不是在服务器... –

+0

Pranav辛格 - 你猜这地方是更多最新的,它可以是本地或服务器?或者你确定本地是从我提供的代码更新?非常感谢。 – Quarty

+0

我认为版本的jQueryValidate是问题,请参阅http://stackoverflow.com/questions/6769823/what-is-the-generated-attribute-seen-in-some-html-tag-used-for –

回答

0

我打算推测你使用的Live服务器与本地主机相比有些不同。问题可能在于活动服务器具有您正在使用的不同语言版本,或者不包含您认为应该使用的某些软件包。

一个例子是使用FastCGI的应用程序,很多服务器都有它,但并不是所有的层都有。因此,您需要检查以确保它在设置中处于启用状态,或者需要的版本位于您使用的任何主机上。

+0

这当然是我现在看到的......尽管文件之间的差异必须在应用程序之外,因为这些文件是相同的。将网站上传到第三台计算机上,具有与服务器相同的行为。所有运行.net 4.5.2的3台计算机都运行相同的应用程序池版本。阿格:)谢谢你的回答。 – Quarty

+0

你使用的是像laravel还是其他的框架?你使用的是什么本地主机?(Apache可能?) – jumper

+0

Pranav Singh指出我正确的方向。原来我的Publish正在创建与我的本地版本不同的脚本包...我是个白痴。谢谢你的帮助 :) – Quarty

相关问题