如果有人有使用[C#] FluentValidation的经验,并对下面的问题有任何想法,任何帮助将不胜感激.
我有2个通用列表(都带有字符串数据类型) - "名称"和"URL".它们都具有相同数量的项目,因此索引项目匹配,即名称[0]与Urls [0]相关联.
我遇到的唯一问题是验证每个列表中的空项.我需要的规则是:
如果某个项目在名称[2]中为空,则Url [2]不应为空.如果Url [2]中的项目为空,则Name [2]不应为空.如果它们都是空的那么我们不想验证,我们想忽略.
注意:我在上面的例子中使用了索引2,但它可以是任何东西
到目前为止,我有:
RuleFor(f => f.Names).Must(d => d.All(s => !String.IsNullOrEmpty(s)))
.WithMessage("Names cannot be empty.")
RuleFor(f => f.URLs).Must(urls => urls.All(s => !String.IsNullOrEmpty(s)))
.WithMessage("URLs cannot be empty.")
Run Code Online (Sandbox Code Playgroud)
这检查两个列表中没有项是空的,但是如果另一个列表中的相关项也为空(如果两者都为空,那么我们只想忽略它),我需要能够在一个列表中不验证项为空. .
有任何想法吗?
我想允许用户使用命令行界面输入密码.但我不想在屏幕上显示此密码(或显示"****").
怎么用C做?谢谢.
更新:
我只在Linux上工作.所以我实际上并不关心Win或其他系统.我试过卢卡斯的解决方案,它工作得很好.但是,我还有另一个问题:
如果这是一个单一进程和单线程应用程序,更改termios的设置会影响不同的终端?
1个进程怎么样 - 多线程,多进程 - 多线程?
非常感谢.
在[member]表中,某些行具有相同的email列值.
login_id | email
---------|---------------------
john | john123@hotmail.com
peter | peter456@gmail.com
johnny | john123@hotmail.com
...
Run Code Online (Sandbox Code Playgroud)
有些人使用不同的login_id但是使用相同的电子邮件地址,此列上没有设置唯一约束.现在我需要找到这些行,看看是否应该删除它们.
我应该使用什么SQL语句来查找这些行?(MySQL 5)
当我使用cache_page装饰器时,如何确认我的Django视图被缓存:
@cache_page(60)
def my_view(request):
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想在控制台中输出缓存命中/未命中消息,以便我可以确认我的视图被缓存了60秒等.
非常感谢,g
有没有办法在Eclipse工作区中按名称搜索文件夹/项目?
结果最好在我可以进行批量操作的视图中返回(如关闭,打开,分配工作集).只需手动点击数百个项目列表即可.
这个看似微不足道的任务给我带来了悲痛,在我所有的蚀刻年代之后,我感到很尴尬.
我试过了:
我错过了什么?也许第三方插件可以提供理智的搜索功能?(Eclipse/GroovyMonkey)脚本会帮忙吗?Mylyn的?从这样一个成熟的环境中,这要求得太多了吗?
我在Eclipse论坛上好心地问过这个问题,他们很友好地回答" 不 ":)像往常一样,我对SO人更有信心,并且会对这些想法感激不尽.
而目前的赢家是斯科特出色的动态工作集插件,它完全实现了上面的选项4!
我有一个包含INT id和DATETIME日期的表,以及其他字段.每个工作日将行插入此表(不保证),其他几个表使用此id作为外键.
我的问题是,如何获取每月最大日期的ID,然后我可以使用它来加入其他数据表?例如,如果今天流程运行,我希望看到1月31日,2月28日,...,10月31日,11月23日的数据.
我正在使用SQL Server 2005.
我试图找到一个很好的EBNF描述ECMAScript,但到目前为止我还没有发现任何完整的.
有任何想法吗?
我有一张桌子看起来像这样:
CREATE TABLE `Calls` (
`calendar_id` int(11) NOT NULL,
`db_date` timestamp NOT NULL,
`cgn` varchar(32) DEFAULT NULL,
`cpn` varchar(32) DEFAULT NULL,
PRIMARY KEY (`calendar_id`),
KEY `db_date_idx` (`db_date`)
)
PARTITION BY RANGE (calendar_id)(
PARTITION p20091024 VALUES LESS THAN (20091024) ,
PARTITION p20091025 VALUES LESS THAN (20091025));
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式使用mysql调度程序自动添加一个新的分区(提前2天) - 我正在寻找一个例子,每天都会添加一个新的分区 - 它会运行像
alter table Calls add partition (partition p20091026 values less than(20091026));
Run Code Online (Sandbox Code Playgroud)
在计划任务运行时构建p20091026/20091026,从现在+ 2天获取值.(或者我最好通过cron编写脚本吗?)
我一直在阅读有关TransactionScope的内容,并对其与ADO.Net事务的互操作性提出了疑问.现在我们有一些数据访问方法,每个方法都调用一个存储过程,并开始并提交自己的各个事务.Straighforward,样板材料,方法如下:
sqlCommand = //create SQLCommand with Stored proc
SqlTransaction myTransaction = myConnection.BeginTransaction();
sqlCommand.Transaction = sqlTransaction;
sqlCommand.Execute();
sqlTransaction.Commit();
Run Code Online (Sandbox Code Playgroud)
我简化了一些事情,但你明白了.
我现在需要连续调用其中两个类方法,并从业务层提交或回滚为团队.我无法修改数据方法,因此我考虑将两个调用放在TransactionScope块中.
如果我这样做,在创建TransactionScope时我应该使用哪种参数?我已经使用TransactionScopeOption.RequiresNew选项尝试了这个,事情似乎有效,但这只是我的实验,我不确定它是否可行.(我在这里要注意,这些是SQL事务,在同一个SQL服务器上运行.)
我看到TransactionScope有构造函数选项来处理COM +事务.因为我正在使用ADO.Net交易,这是否相关?感谢您的建议.
我喜欢清洁
using (Html.BeginForm())
Run Code Online (Sandbox Code Playgroud)
并且讨厌添加HTML属性需要指定控制器,操作和表单方法.
using (Html.BeginForm("Action", "Controller", FormMethod.Post,
new { id = "inactivate-form" })
Run Code Online (Sandbox Code Playgroud)
有没有办法使用Html.BeginForm和指定表单的HTML属性,而无需手动连接其他所有内容?
mysql ×2
sql ×2
ado.net ×1
asp.net-mvc ×1
bnf ×1
c ×1
c# ×1
caching ×1
database ×1
django ×1
ebnf ×1
eclipse ×1
ecma262 ×1
input ×1
javascript ×1
partitioning ×1
passwords ×1
python ×1
search ×1
sql-server ×1
validation ×1