bootstrap的表单验证的弹出框是怎么实现的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bootstrap的表单验证的弹出框是怎么实现的相关的知识,希望对你有一定的参考价值。

这个和bootstrap没有关系, 是html5 <form>的一个特性

<form>
<input type="email" placeholder="Email" required>
<input type="password" placeholder="Password" required>
<input pattern=".5," required title="3 characters minimum">
<input type="submit">
</form>

如果form内的input有required的tag, 你submit的时候如果项目为空就会有提示弹出。
除了检查是非为空, html5 的 form 还能检查输入项是不是email,如果你给type="email"
和长度 pattern = “.5," 代表至少5个字符
参考技术A   这个和bootstrap没有关系, 是html5 <form>的一个特性

  <form>
<input type="email" placeholder="Email" required>
<input type="password" placeholder="Password" required>
<input pattern=".5," required title="3 characters minimum">
<input type="submit">
</form>

  如果form内的input有required的tag, 你submit的时候如果项目为空就会有提示弹出。
除了检查是非为空, html5 的 form 还能检查输入项是不是email,如果你给type="email"
和长度 pattern = “.5," 代表至少5个字符

在表格视图中选择项目后无法关闭弹出框

【中文标题】在表格视图中选择项目后无法关闭弹出框【英文标题】:Can't close popover after selecting item within table view 【发布时间】:2012-05-15 19:05:39 【问题描述】:

我正在使用 XCode 4.3.2 版创建 iPad 应用程序。我无法弄清楚如何关闭在情节提要中创建的弹出框。

在我的主屏幕上,我有一个按钮。在情节提要上,我从那个按钮到我的弹出框定义了一个segue。我的弹出框是一个表格视图控制器。在弹出框表视图中选择一个项目后,我将所选信息发送回父级并尝试关闭弹出框。一切正常,除了我无法关闭弹出框。

主屏幕.m文件的代码:

#import "SectionViewController.h"
#import "SortByTableViewController.h"

@interface SectionViewController () <SortByTableViewControllerDelegate>
@end

@implementation SectionViewController

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

    if ([segue.identifier isEqualToString:@"DisplaySortByOptions"]) 
    
        SortByTableViewController *popup = (SortByTableViewController*)segue.destinationViewController;
        popup.selectedSection = self.selectedSection;
        popup.receivedOption = self.selectedItemCharacteristic;
        popup.delegate = self;
    


- (void)sortByTableViewController:(SortByTableViewController *)sender 
                           returnedOption:(ItemCharacteristic *)returnedOption

    if(!returnedOption)
    
        [self.sortByButton setTitle:@"SHOW ALL" forState:UIControlStateNormal]; 
    
    else 
    
        [self.sortByButton setTitle:returnedOption.name forState:UIControlStateNormal];
    
    self.itemCharacteristic = returnedOption;
    [self dismissViewControllerAnimated:YES completion:nil]; //THIS DOES NOT CLOSE THE POPOVER

popover .h 文件的代码:

#import <UIKit/UIKit.h>

@class SortByTableViewController;

@protocol SortByTableViewControllerDelegate <NSObject>

- (void)sortByTableViewController:(sortByTableViewController *)sender 
                           returnedOption:(ItemCharacteristic *)returnedOption;

@end

@interface SortByTableViewController : UITableViewController

@property (nonatomic, strong) Section *selectedSection;
@property (nonatomic, strong) ItemCharacteristic *receivedOption;
@property (nonatomic, weak) id <SortByTableViewControllerDelegate> delegate;

@end

popover .m 文件的代码:

#import "SortByTableViewController.h"

@interface SortByTableViewController () <UITableViewDelegate>

@end

@implementation SortByTableViewController

@synthesize selectedSection = _selectedSection;
@synthesize receivedOption = _receivedOption;
@synthesize delegate = _delegate;

...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    ItemCharacteristic *itemCharacteristic = [self.fetchedResultsController objectAtIndexPath:indexPath];
    [self.delegate sortByTableViewController:self returnedOption:itemCharacteristic];
    [self dismissViewControllerAnimated:YES completion:nil]; //THIS DOESN'T WORK
    [self.navigationController popViewControllerAnimated:YES]; //THIS DOESN'T WORK EITHER


@end

感谢您的帮助或指导。

【问题讨论】:

【参考方案1】:

我找到了答案。我必须将以下属性添加到我的主屏幕:

@property (nonatomic, strong) UIPopoverController *sortByPopoverController;

然后,在启动弹出框时,我添加了以下内容:

UIStoryboardPopoverSegue *popoverSegue = (UIStoryboardPopoverSegue *)segue;
self.sortByPopoverController = popoverSegue.popoverController;

包含该代码允许我在代理回调时正确关闭弹出框:

[self.sortByPopoverController dismissPopoverAnimated:YES];

【讨论】:

【参考方案2】:

快速调用这个

  func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)   
  
    self.dismissViewControllerAnimated(true, completion: nil)

  

【讨论】:

以上是关于bootstrap的表单验证的弹出框是怎么实现的的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 弹出框怎么设置为可拖动

Bootstrap:模态框上的弹出框

Bootstrap之javascript插件---弹出框(模态框)Modal

Bootstrap 4 - 复选框在 Bootstrap 模式的弹出框内无法正常工作

如何使用 Twitter Bootstrap 中的弹出框显示图像?

JavaScript的弹出框和Bootstrap的警告框和模态框