System.IO命名空间中是否有一个检查文件名有效性的方法?
例如,C:\foo\bar将验证,:"~-*不会
或者有点棘手,X:\foo\bar会验证系统上是否有X:驱动器,否则不会.
我想我自己可以编写这样的方法,但我对内置的方法更感兴趣.
如何使用数据注释对模型进行条件验证?
例如,假设我们有以下模型(Person和Senior):
public class Person
{
[Required(ErrorMessage = "*")]
public string Name
{
get;
set;
}
public bool IsSenior
{
get;
set;
}
public Senior Senior
{
get;
set;
}
}
public class Senior
{
[Required(ErrorMessage = "*")]//this should be conditional validation, based on the "IsSenior" value
public string Description
{
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)
以下观点:
<%= Html.EditorFor(m => m.Name)%>
<%= Html.ValidationMessageFor(m => m.Name)%>
<%= Html.CheckBoxFor(m => m.IsSenior)%>
<%= Html.ValidationMessageFor(m => m.IsSenior)%>
<%= Html.CheckBoxFor(m => m.Senior.Description)%>
<%= Html.ValidationMessageFor(m => m.Senior.Description)%> …Run Code Online (Sandbox Code Playgroud) 我想知道如何最好地验证Rails中的URL.我在考虑使用正则表达式,但不确定这是否是最好的做法.
而且,如果我使用正则表达式,有人可以向我推荐一个吗?我还是Regex的新手.
检查表单是否已提交以确定是否应将表单的变量传递给验证类的最佳方法是什么?
首先我想的可能是:
isset($_POST)
Run Code Online (Sandbox Code Playgroud)
但随着超级全球在各地被定义,这将永远回归真实.我不想通过以下方式遍历表单的每个元素:
if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc
Run Code Online (Sandbox Code Playgroud)
在写这个问题时,我想到了一个更基本的解决方案,添加一个隐藏的字段作为我可以检查的标志.
除了添加自己的旗帜之外,还有一种"更清洁"的方式吗?
我有一个带有验证的模型,我发现在以前没有验证对象的情况下我无法更新属性.
我已经尝试on => :create在每个验证行的末尾添加语法,但我得到了相同的结果.
我的公告模型有以下验证:
validates_presence_of :title
validates_presence_of :description
validates_presence_of :announcement_type_id
validate :validates_publication_date
validate :validates_start_date
validate :validates_start_end_dates
validate :validates_category
validate :validates_province
validates_length_of :title, :in => 6..255, :on => :save
validates_length_of :subtitle, :in => 0..255, :on => :save
validates_length_of :subtitle, :in => 0..255, :on => :save
validates_length_of :place, :in => 0..50, :on => :save
validates_numericality_of :vacants, :greater_than_or_equal_to => 0, :only_integer => true
validates_numericality_of :price, :greater_than_or_equal_to => 0, :only_integer => true
Run Code Online (Sandbox Code Playgroud)
我的rake任务执行以下操作:
task :announcements_expiration => :environment do
announcements = Announcement.expired …Run Code Online (Sandbox Code Playgroud) 我一直在寻找一个简单的URL正则表达式,有没有人有一个方便的工作?我没有找到一个zend框架验证类,并看到了几个实现.
谢谢
如何允许用户使用ASP.net MVC将HTML输入到特定字段.
我有一个很长的表单,有许多字段映射到控制器中的这个复杂对象.
我想创建一个字段(描述)允许HTML,我将在稍后的时间内完成我自己的卫生设施.
我的最终目标是验证输入字段.输入可以是字母或数字.
如何使用php5验证输入值是否是有效的电子邮件地址.现在我正在使用此代码
function isValidEmail($email){
$pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";
if (eregi($pattern, $email)){
return true;
}
else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
但它显示了已弃用的错误.我该如何解决这个问题.请帮我.
我有这样简单的ASP.NET MVC动作:
public ActionResult Edit(EditPostViewModel data)
{
}
Run Code Online (Sandbox Code Playgroud)
在EditPostViewModel具有验证属性是这样的:
[Display(Name = "...", Description = "...")]
[StringLength(100, MinimumLength = 3, ErrorMessage = "...")]
[Required()]
public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)
在视图中,我使用以下帮助程序:
@Html.LabelFor(Model => Model.EditPostViewModel.Title, true)
@Html.TextBoxFor(Model => Model.EditPostViewModel.Title,
new { @class = "tb1", @Style = "width:400px;" })
Run Code Online (Sandbox Code Playgroud)
如果我在表单上提交此文本框放在验证中,将首先在客户端上完成,然后在service(ModelState.IsValid)上完成.
现在我有几个问题:
这可以与jQuery ajax提交一起使用吗?我正在做的只是删除表单,然后单击提交按钮javascript将收集数据,然后运行$.ajax.
服务器端会ModelState.IsValid工作吗?
如何将验证问题转发回客户端并将其呈现为使用build int validation(@Html.ValidationSummary(true))?
Ajax调用示例:
function SendPost(actionPath) {
$.ajax({
url: actionPath,
type: 'POST',
dataType: 'json',
data:
{
Text: $('#EditPostViewModel_Text').val(), …Run Code Online (Sandbox Code Playgroud) validation ×10
asp.net-mvc ×3
php ×3
regex ×3
c# ×2
forms ×2
url ×2
ajax ×1
file ×1
javascript ×1
jquery ×1
numbers ×1
ruby ×1
string ×1