-
使用 Upida 验证进站 JSON
翻译 maninwest@Codeforge 作者:vladimir husnullin@CodeProject实现非常简单,首先,需要找出验证需要的类,通常他们是域类。 其次,你需要找出每个类的方法。例如 Client 类有两个方法 - 保存前验证和更新前验证,这说明,同一个类 Client 可以通过不同方法验证。有时,你可能需要不同的验证方法。例如,赋值或合并或者其他需要。最后一步是验证方法的实现。例如 Client 类必须有两个验证方法 - validateForSave() 和 validateForUpdate()Implementing让我们来创建 Client 类的验证方法。为了遵守所有SOLID 原则,我将创建一个单独的类 - ClientValidator ,包含所有验证方法。基于 Upida 的验证的主要理念是:每次需要验证时,你必须创建一个 UpidaValidationContext 类的新实例。每次发现一个错误,必须在上下实例中使用其方法对其进行注册。使用上下文实例确保错误信息关联到相应的属性路径中。这样,上下为类就已有几个简单的验证例行程序。例如,它可以检查特定字段是否为 null,是否使用 JSON 表示。可以查看文本长度或者集合大小。可以检查正则表达式等。由于你一定知道Upida 管理数据反序列化,保存每个 JSON 字段的相关信息,这样你稍后可以验证字段是否在 JSON 中存在,是否是 null,是否在反序列化中正确解析。该信息可以通过 UpidaValidationContext 类方法存取。.UpidaValidationContext 类的一个主要目标是跟踪属性路径。例如,当你验证对象,然后验证该对象的子对象时,上下文类确保所有错误信息都连接到相应的属性路径。验证结果是故障列表,其中一个故障是一个属性路径文本和一条消息。故障结构序列化到 JSON并发送回浏览器,在浏览器中解析并放在 HTML 中正确的位置。最好的方法是从 UpidaValidat
- 2022-06-30 12:29:39下载
- 积分:1
-
snmp4j源代码,API,包
这是一个snmp4j的源代码包,包括snmp4j的源代码,更有snmp4j的API文档,里面详细介绍了snmp4
j的各个API以及其如何使用,非常适合初学者学习snp4j的方法。
- 2022-01-26 00:08:30下载
- 积分:1
-
SslCertificate_DNameTest
Test Target Class Source Code for Andriod.
- 2013-12-06 12:19:32下载
- 积分:1
-
android activity 切换效果例子
android activity 切换效果例子
- 2015-06-17下载
- 积分:1
-
购书系统struts+hibernate
网上购书系统,struts+hibernate架构~内涵数据库sql文件~在sqlserver2000上配置运行~
- 2023-09-04 12:15:04下载
- 积分:1
-
获取系统图库的图片,调用系统相机,并生成预览,
** * 这个是进入相册显示所有图片的界面 * * @author king * @QQ:595163260 * @version 2014年10月18日 下午11:47:15 */public class AlbumActivity extends Activity {//显示手机里的所有图片的列表控件private GridView gridView;//当手机里没有图片时,提示用户没有图片的控件private TextView tv;//gridView的adapterprivate AlbumGridViewAdapter gridImageAdapter;//完成按钮private Button okButton;// 返回按钮private Button back;// 取消按钮private Button cancel;private Intent intent;// 预览按钮private Button preview;private Context mContext;private ArrayList dataList;private AlbumHelper helper;public static List contentList;public static Bitmap bitmap;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(Res.getLayoutID("plugin_camera_album"));PublicWay.activityList.add(this);mContext = this;//注册一个广播,这个广播主要是用于在GalleryActivity进行预览时,防止当所有图片都删除完后,再回到该页面时被取消选中的图片仍处于选中状态IntentFilter filter = new IntentFilter("data.broadcast.action"); registerReceiver(broadcastReceiver, filter); bitmap = BitmapFactory.decodeResource(getResources(),Res.getDrawableID("plugin_camera_no_pictures")); init();initListener();//这个函数主要用来控制预览和完成按钮的状态isShowOkBt();}BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //mContext.unregisterReceiver(this); // TODO Auto-generated method stub gridImageAdapter.notifyDataSetChanged(); } }; // 预览按钮的监听private class PreviewListener implements OnClickListener {public void onClick(View v) {if (Bimp.tempSelectBitmap.size() > 0) {intent.putExtra("position", "1");intent.setClass(AlbumActivity.this, GalleryActivity.class);startActivity(intent);}}}// 完成按钮的监听private class AlbumSendListener implements OnClickListener {public void onClick(View v) {overridePendingTransition(R.anim.activity_translate_in, R.anim.activity_translate_out);intent.setClass(mContext, MainActivity.class);startActivity(intent);finish();}}// 返回按钮监听private class BackListener implements OnClickListener {public void onClick(View v) {intent.setClass(AlbumActivity.this, ImageFile.class);startActivity(intent);}}// 取消按钮的监听private class CancelListener implements OnClickListener {public void onClick(View v) {Bimp.tempSelectBitmap.clear();intent.setClass(mContext, MainActivity.class);startActivity(intent);}}// 初始化,给一些对象赋值private void init() {helper = AlbumHelper.getHelper();helper.init(getApplicationContext());contentList = helper.getImagesBucketList(false);dataList = new ArrayList();for(int i = 0; i= PublicWay.num) {toggleButton.setChecked(false);chooseBt.setVisibility(View.GONE);if (!removeOneData(dataList.get(position))) {Toast.makeText(AlbumActivity.this, Res.getString("only_choose_num"),200).show();}return;}if (isChecked) {chooseBt.setVisibility(View.VISIBLE);Bimp.tempSelectBitmap.add(dataList.get(position));okButton.setText(Res.getString("finish") "(" Bimp.tempSelectBitmap.size() "/" PublicWay.num ")");} else {Bimp.tempSelectBitmap.remove(dataList.get(position));chooseBt.setVisibility(View.GONE);okButton.setText(Res.getString("finish") "(" Bimp.tempSelectBitmap.size() "/" PublicWay.num ")");}isShowOkBt();}});okButton.setOnClickListener(new AlbumSendListener());}private boolean removeOneData(ImageItem imageItem) {if (Bimp.tempSelectBitmap.contains(imageItem)) {Bimp.tempSelectBitmap.remove(imageItem);okButton.setText(Res.getString("finish") "(" Bimp.tempSelectBitmap.size() "/" PublicWay.num ")");return true;}return false;}public void isShowOkBt() {if (Bimp.tempSelectBitmap.size() > 0) {okButton.setText(Res.getString("finish") "(" Bimp.tempSelectBitmap.size() "/" PublicWay.num ")");preview.setPressed(true);okButton.setPressed(true);preview.setClickable(true);okButton.setClickable(true);okButton.setTextColor(Color.WHITE);preview.setTextColor(Color.WHITE);} else {okButton.setText(Res.getString("finish") "(" Bimp.tempSelectBitmap.size() "/" PublicWay.num ")");preview.setPressed(false);preview.setClickable(false);okButton.setPressed(false);okButton.setClickable(false);okButton.setTextColor(Color.parseColor("#E1E0DE"));preview.setTextColor(Color.parseColor("#E1E0DE"));}}public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {intent.setClass(AlbumActivity.this, ImageFile.class);startActivity(intent);}return false;}@Overrideprotected void onRestart() {isShowOkBt();super.onRestart();}
- 2014-12-10下载
- 积分:1
-
java SHA Encryption and Decryption
可伸缩视频编码(SVC)是H.264/MPEG-4avc视频压缩标准的附录G扩展名。SVC标准化了
- 2022-04-17 19:30:08下载
- 积分:1
-
Quartz定时器
spring 的Quartz定时器的功能非常强大,可以在特定的年月日小时分秒的时间点触发时间,完成事件的调度-spring of Quartz timer function is very powerful, can trigger a specific point in time time date hours minutes and seconds to complete the schedule of events
- 2022-03-06 04:34:43下载
- 积分:1
-
北雨求职招聘系统+v2.0.10.rar
程序名称: 北雨求职招聘系统V2.0.10
软件类别: JSP源码 / 人才交友
软件语言: 简体中文
授权方式: 免费版
系统平台: JSP+MYSQL
介绍:
适合大中型人才网或门户网站的人才频道均可,速度快,安全好,功能多!
安装方法:
1把所有文件上传至服务器
2运行setup/index.jsp按提示安装即可
- 2023-07-13 18:45:03下载
- 积分:1
-
Android-andbook
Android编程入门教程andbook中文版(this book is fit for the beginners)
- 2015-11-15 15:35:33下载
- 积分:1